MSVC Linker Output Congoding Проблема в среде UTF-8C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 MSVC Linker Output Congoding Проблема в среде UTF-8

Сообщение Anonymous »

Я сталкиваюсь с проблемой с кодированием в выводе ошибки линкера MSVC при создании моего проекта C ++ в Windows. Сообщения об ошибках от линкера появляются в виде искаженного текста в моей консоли, которая установлена ​​на кодирование UTF-8. Все мои исходные файлы закодированы в UTF-8. Локаль моей системы также установлен в UTF-8, и консоль использует кодовую страницу 65001 (UTF-8). < /P>
Вот пример вывода: < /p>

Код: Выделить всё

agentprocesscontroller.obj : error LNK2019: ����������ⲿ���� "public: void __cdecl DDS_UserInteractManager::TopicData::publish(class boost::shared_ptr const &)" (?publish@?$TopicData@V?$shared_ptr@UDataType@vec_EntityBasicData@EnvSimuData@@@boost@@Uin_tag@DDS_UserInteractManager@@@DDS_UserInteractManager@@QEAAXAEBV?$shared_ptr@UDataType@vec_EntityBasicData@EnvSimuData@@@boost@@@Z)�������ں��� ...
< /code>
Я не уверен, как решить эту проблему. Есть ли способ изменить кодирование вывода линкера MSVC, или это известная проблема с другим решением? Любое руководство будет очень оценено!if (MSVC)
set(CMAKE_C_FLAGS /utf-8)
set(CMAKE_CXX_FLAGS /utf-8)
# enable boost exception handling
set(CMAKE_CXX_FLAGS "/EHsc ${CMAKE_CXX_FLAGS}")
endif ()
[*] Я подтвердил, что кодовая страница консоли установлена ​​на 65001 (UTF-8) с использованием команды CHCP .
Я подтвердил, что все мои исходные файлы кодированы в utf-8. Также вывод в искаженном тексту.

Код: Выделить всё

#include 

void foo();  // Function declaration without a definition

int main() {
foo();  // Call to undefined function
return 0;
}
< /code>
Интересно, что эта проблема возникает только с ошибками линкера. Ошибки компиляции отображаются правильно в консоли. < /P>
Вот пример ошибки компиляции, которая отображается правильно: < /p>
F:\Program\SimCSC\ProxyV2\main.cpp(10): error C2146: 语法错误: 缺少“;”(在标识符“QApplication”的前面) [F:\Program\SimCSC\ProxyV2\cmake-build-debug\ProxyV2.vcxproj]

Несмотря на все эти настройки, вывод линкера MSVC по -прежнему выглядит искаженным, когда есть ошибки связывания.


Подробнее здесь: https://stackoverflow.com/questions/769 ... nvironment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»