如何强制gcc忽略本地化

How to force gcc to ignore localisation

本文关键字:本地化 gcc 何强制      更新时间:2023-10-16

我的本地化设置为德语和gcc输出德语编译器警告,但代码块处理这些警告作为错误,不让我运行我的应用程序。到目前为止,我发现我需要强制gcc输出英语警告,但我发现的所有答案都像"将您的系统语言设置为英语",但我不想这样做。如何在不改变整个系统语言的情况下强制gcc以英文输出编译器警告?

GCC使用LANG, LC_MESSAGESLC_ALL环境变量。

GCC用德语打印消息最可能的原因是LANG被设置为类似de_DE.UTF-8的东西,所以在运行GCC之前取消设置(或将其设置为默认的POSIX语言环境C或英语语言环境en_US)。

如果你不能调整CodeBlocks用来调用编译器的命令行,那么你应该能够在运行CodeBlocks之前调整环境,例如,不是运行codeblocks来启动IDE(或任何启动IDE的命令),而是运行LANG=C codeblocks

这将改变codeblocks进程及其运行的任何子进程的环境,包括它运行的编译器命令。

如果这不起作用,检查也许你的环境中设置了LC_ALLLC_MESSAGES(你可以检查echo "LC_ALL is $LC_ALL, LC_MESSAGES is $LC_MESSAGES";),所以你可以覆盖它:

LC_ALL=C codeblocks