странный символ â в cmake сгенерировал ошибки makefile

Ужасное название, извините. Я использовал cmake для создания make-файла, и я указал g ++ в качестве компилятора C ++, и когда я запускаю сгенерированный make-файл с помощью make или gmake, я получаю все эти ошибки компиляции, и все мои символы имеют завершающие символы â. Есть мысли о том, что может быть за этими загадочными знаками?


person shaz    schedule 29.06.2010    source источник
comment
Они появляются в исходных файлах или только в выводе компилятора? Первое может указывать на проблемы с кодировкой, второе может быть связано с искажением имени C ++.   -  person Cogwheel    schedule 30.06.2010
comment
Нет, символы â не появляются в исходных файлах, только в выводе компилятора.   -  person shaz    schedule 30.06.2010


Ответы (2)


Вероятно, у вас неправильно установлена ​​переменная окружения LANG. Попробуйте установить C или en_US.

Если вы используете bash, что-то вроде export LANG=C или export LANG=en_US должно решить вашу проблему.

person the_void    schedule 29.06.2010

Это кавычки Unicode, LEFT и RIGHT SINGLE QUOTATION MARK, которые закодированы в UTF-8 как «\ xE2 \ x80 \ x98» и «\ xE2 \ x80 \ x99». А '\ xE2' в Latin-1 - это 'â'.

Итак, ваш выбор - выяснить, почему ваш терминал неправильно интерпретирует UTF-8, или указать g ++ не генерировать их. Последнее достигается установкой LANG=C или около того, как отмечалось в the_void, что заставит компилятор вместо этого выдавать обычные кавычки ASCII.

person John Marshall    schedule 30.06.2010