Показаны сообщения с ярлыком Qt. Показать все сообщения
Показаны сообщения с ярлыком Qt. Показать все сообщения

вторник, 24 сентября 2013 г.

Qt 5.1 (5.1.1), статическая линковка (статическая компоновка), Windows 7, MinGW 4.8

Qt дорос до версии 5, повзрослел. Отныне для Windows не требуется прописывать переменные окружения и пути. Каждая сборка не зависит ни от чего, система ничего "не знает" ни об одной из них. Это здорово, поскольку теперь программисту не нужно думать о том, где его Qt "наследил".
Что же касается самих сборок, с ними не всё так гладко, как хотелось бы. В идеале я должен, например, с помощью configure указать, куда положить новую сборку (mingw48_32), а при выполнении mingw-make все собранные файлы должны оказаться там, куда я указал, а не вперемешку с сырцами. Увы, пока мечты. Мечтой пока что остаётся получить копию установленной заранее папки mingw48_32 (с Assistant`ом, Designer`ом и тд). После сборки из сырцов с параметрами по умолчанию таких файлов нет.

воскресенье, 22 сентября 2013 г.

qDebug() и кодировка Windows 1251


Опубликовано в ЖЖ в феврале 2010, актуально для Qt4.
Оригинал

Хороший макрос. Однако его полезность весьма и весьма сомнительна в случае, когда нужно выводить на консоль национальные - в частности, русские - символы. Конечно, тут же набегает кучка полудурков-советчиков, предлагающих всяческие извращения в виде транслита, логов, GUI, многократных перекодировок..
Ответ я нашёл здесь.

QTextStream out(stdout);
out.setCodec(QTextCodec::codecForName("IBM 866"));
out << line;

Коротко и красиво. Понятно, что использование "IBM 866" предназначено для винды. Но лучше наросать пару макросов для проекта, подставляющих локально нужную кодовую страницу в целевой системе, чем прыгать с остальными бубнами.