Крякозябри в Qt під Visual Studio

Як же я ненавидів ці крякозябри у Qt. З ними налагодження перетворювалося на жах.

Отже, якщо ви використовуєте версію Qt під компілятор Visaul Studio, то в консолі, де з'являються повідомлення про помилки та попередження, замість українських букв з'являтимуться крякозабри. Будемо це лікувати.

Зміст

Крякозябри

Ось так виглядають крякозябри:

крякозябри

Опис проблеми

Ця проблема виникає, якщо використовувати українську версію Visual Studio через різні кодування в консолях. У Qt нам потрібне кодування CP1251. На жаль, якщо встановити Visual Studio 2015 Community (про інші версії не знаю – не перевіряв) на українську Windows з англійською мовою, Visaul Studio перестає нормально працювати в собі з C++ проектами. Загалом, доводиться ставити мову рівну системній мові Windows. Але при цьому тоді крякозябри з'являються Qt.

Пропонується багато різних рішень, але в мене не заробили чомусь (з реєстром, батниками та ін.). Костянтин Штепа пропонує таке рішення:

Є вирішення проблеми. 1) Завантажуєте вихідні джерела jom c http://qt.gitorious.org/qt-labs/jom/ або за допомогою git://gitorious.org/qt-labs/jom.git 2) Знаходьте в них файл \src\app\main.cpp 3) Замінюєте в ньому рядки 4) int main(int argc, char* argv[]) int result = 0;

int main(int argc, char* argv[]) SetConsoleCP(1251); SetConsoleOutputCP(1251); int result = 0;

5) Далі запускаєте командний рядок розробника vs2012 (або аналогічне), переходите в кореневу папку jom і виконуєте команди qmake та nmake. Далі просто копіюєте файли з папки %jom%\bin\ у папку %qt-creator%\bin

Безглуздо, але працює. І ніяких батників не треба (який до того ж мені не допоміг =( )

Але я дурний, не люблю працювати зконсоллю і таке інше. Загалом «моя не розуміти», як усе це зробити. Ось тільки зараз вирішив таки покопатися і розібрався. Нижче представлено докладну інструкцію, а як же реалізувати цей алгоритм.

Програмне забезпечення

Все описане нижче проводилося на Windows 10. Були встановлені Visual Studio 2015 Community, Qt 5.8.0 під Visual Studio.

Також буде потрібно git клієнт для викачування вихідних кодів jom. Я використовую GitHub Desktop. Якщо у вас його немає, то завантажуйте, встановлюйте, заходьте під обліком GitHub.

Викачування вихідних кодів jom

Тут я поясню як виконати команду: