如何强制gcc忽略本地化

时间:2015-07-23 16:51:50

标签: c++ gcc

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

1 个答案:

答案 0 :(得分:1)

GCC使用sum' :: Int -> Int -> Int -> Int sum' x y z | x >= 0 && y >= 0 && z >= 0 = x+y+z | otherwise = 0 LANGLC_MESSAGES个环境变量。

德语中GCC打印密码的最可能原因是LC_ALL设置为LANG,所以只需取消设置(或将其设置为默认的POSIX语言环境,de_DE.UTF-8,或者在运行GCC之前使用C等英语语言环境。

如果您无法调整CodeBlocks用来调用编译器的命令行,那么您应该能够在运行代码块之前调整环境,例如:而不是运行en_US来启动IDE(或启动IDE的任何命令)运行codeblocks

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

如果这不起作用,请检查您的环境中是否设置了codeblocksLC_ALL(您可以查看LC_MESSAGES),这样您就可以覆盖:

echo "LC_ALL is $LC_ALL, LC_MESSAGES is $LC_MESSAGES";