При использовании компилятора Microsoft в Qt-проекте в окне сборки выводятся сообщения об ошибках и предупреждениях с поломанной кодировкой. Например:
warning C4311: ЇаЁўҐ¤ҐЁҐ вЁЇ®ў: гбҐзҐЁҐ гЄ § вҐ«п Ё§ "Qt::HANDLE" ў "unsigned int"
warning C4302: ЇаЁўҐ¤ҐЁҐ вЁЇ®ў: гбҐзҐЁҐ Ё§ "Qt::HANDLE" ў "unsigned int"
Как можно вывести подобные сообщения в адекватном читабельном виде, на русском или английском языках?
Одно из возможных решений – скрыть для компилятора cl.exe файлы со строками языка ОС. В данном случае речь о локале ru-ru
с идентификатором LCID
, равным 1049
. Полный список идентификаторов можно посмотреть здесь, стоит учесть, что там они указаны в шестнадцатеричном виде.
В зависимости от версии и разрядности компилятора, выбранного для Qt-проекта, расположение файла cl.exe может разниться. Например, для MSVC2015 64bit путь будет такой:
{Коренная папка Visual Studio}\VC\bin\amd64
В MSVC2017 структура пути несколько иная:
{Коренная папка Visual Studio}\VC\Tools\MSVC\{версия}\bin\Hostx86\x64
Имя конечной папки можно подсмотреть в настройках сборки проекта в QtCreator:
Для MSVC2017 x86_amd64
, представленная на рисунке, будет как раз соответствовать Hostx86\x64
(завершающая часть пути).
По этому пути достаточно переименовать папку "1049", например, добавив подчёркивание "1049_", после чего выполнить пересборку проекта. Сообщения компилятора будут выведены на английском языке:
warning C4311: 'type cast': pointer truncation from 'Qt::HANDLE' to 'unsigned int'
warning C4302: 'type cast': truncation from 'Qt::HANDLE' to 'unsigned int'
Стоит заметить, что наличие папки с английским языком, т.е. "1033", является необходимым для неанглоязычной ОС. Доустановить или удалить вовсе некоторые языки можно в установщике Visual Studio:
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Использую в программе запись через поток довольно большого объема данных (6ГБ)
Чем можно рисовать векторное изображение в Windows API? Особенно интересует SVG в GDI+Есть ли смысл разбирать формат? Хотелось бы получить что-то...
При работе с проектом в intellij idea, после внесения каких либо изменений (изменение текста кода или создание файла) эти изменения сразу передаются...
Имеется ошибка, сервер работает нормально, но последнее время проскакивает эта ошибка очень часто, источников не нашел