我的本地化设置为德语,gcc输出德语编译器警告,但代码块将这些警告处理为错误,并且不允许我运行我的应用程序。到目前为止,我发现我需要强制gcc输出英文警告,但我找到的所有答案都是“将你的系统语言设置为英语”,但我不想这样做。 如何在不改变整个系统语言的情况下强制gcc以英语输出编译器警告?
答案 0 :(得分:1)
GCC使用sum' :: Int -> Int -> Int -> Int
sum' x y z
| x >= 0 && y >= 0 && z >= 0 = x+y+z
| otherwise = 0
,LANG
和LC_MESSAGES
个环境变量。
德语中GCC打印密码的最可能原因是LC_ALL
设置为LANG
,所以只需取消设置(或将其设置为默认的POSIX语言环境,de_DE.UTF-8
,或者在运行GCC之前使用C
等英语语言环境。
如果您无法调整CodeBlocks用来调用编译器的命令行,那么您应该能够在运行代码块之前调整环境,例如:而不是运行en_US
来启动IDE(或启动IDE的任何命令)运行codeblocks
这将改变LANG=C codeblocks
进程及其运行的任何子进程的环境,包括它运行的编译器命令。
如果这不起作用,请检查您的环境中是否设置了codeblocks
或LC_ALL
(您可以查看LC_MESSAGES
),这样您就可以覆盖:
echo "LC_ALL is $LC_ALL, LC_MESSAGES is $LC_MESSAGES";