2015-07-23 2 views
1

Моя локализация установлена ​​на немецкий и gcc выдает германские предупреждения компилятора, но кодовые блоки обрабатывают эти предупреждения как ошибки и не позволяют запускать мое приложение. Я до сих пор понял, что мне нужно заставить gcc выводить английские предупреждения, но все ответы, которые я нашел, были похожи на «установить язык вашей системы на английский», но я не хочу этого делать. Как заставить gcc выводить предупреждения на компиляторе на английском языке без изменения всего системного языка?Как заставить gcc игнорировать локализацию

+1

Попробуйте выполнить 'gcc' с' LANG 'переменная окружения установлена ​​на' en_US.UTF-8' (я не знаю, как это сделать, если это возможно в кодовых блоках) –

+0

или 'LANG = C' или просто отключить' LANG' –

+2

Лучшее решение для этого в конце: Исправьте свои предупреждения. –

ответ

1

GCC использует переменные среды LANG, LC_MESSAGES и LC_ALL.

Наиболее вероятная причина ССАГПЗ печатного messags на немецком языке, что LANG установлен на что-то вроде de_DE.UTF-8 так просто снято с охраной, что (или установить его в POSIX локалью по умолчанию, C или английской локализации, такие как en_US) перед запуском GCC.

Если вы не можете настроить командную строку, которую использует CodeBlocks для вызова компилятора, то вы должны иметь возможность настроить среду перед запуском кодовых блоков, например. вместо запуска codeblocks для запуска IDE (или независимо от команды, чтобы запустить IDE является) запустить LANG=C codeblocks

Это будет изменять среду для codeblocks процесса и любой ребенок обрабатывает это работает, в том числе компилятор команды он работает.

Если это не работает, проверьте, может быть, у вас есть LC_ALL или LC_MESSAGES набор в вашей среде (вы можете проверить с echo "LC_ALL is $LC_ALL, LC_MESSAGES is $LC_MESSAGES";), так что вы можете просто переопределить:

LC_ALL=C codeblocks 
Смежные вопросы