(Это не вопрос об ошибке компиляции, но об установке терминала Linux.)
Во время любой ошибки компиляции ошибочный оператор правильно не отображает фрагменты кода:
In member function â:
error: â was not declared in this scope
Есть ли установка, чтобы заставить мой терминал правильно показывать:
In member function `foo()':
error: `endl' was not declared in this scope
Подробнее: Это показывает в режиме компиляции Emacs правильно, но даже сохранение, которые буферизуют во временный файл и чтение его на командной строке, производит вышеупомянутые символы. Чтение того файла в Vim показывает, что странные символы представляют больше чем один столбец текста.
Я думаю, что необходимо сначала проверить настройки локали с:
locale
Если это не выровненное набора символов файла затем, Вы могли бы получать ошибки, как таковые.
file yoursrcfile
должен предоставить Вам необходимую информацию.
Там имеет место также, который Ваш компилятор выполняет с другой локалью. Вы можете обходное решение это путем установки
export LC_ALL=en_US
для Вашей сессии удара. Это может быть помещено перед командой компиляции также. например.
LC_ALL=en_US gcc -o outfile srcfile.c
Но эффект в этом случае будет только на последующей команде.
Другой случай - то, что, вероятно, Ваш исходный код, возможно, был отредактирован в окнах, возможно? Во всяком случае это могло бы содержать некоторые странные символы по некоторым причинам.
Необходимо проверить его в энергию путем включения для показа всех символов
:set invlist
Надеюсь, это поможет!