При использовании компилятора 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:
Сборка персонального компьютера от Artline: умный выбор для современных пользователей