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

суббота, 5 октября 2013 г.

Квест: собрать Qt 5.1.1 с помощью GCC (MinGW) 4.8.1

Да гранаты у него не той системы
(с) к/ф "Белое солнце пустыни"

Сразу хочу предостеречь желающих пройти этот "квест" до конца - сил у меня выполнить его не хватило :-). 

Давно ничего не "компилировав" большое-здоровенное, решил пересобрать библиотеку Qt5 ... на версию, так сказать, по-новее. Ознакомившись на сайте, что бинарный пакет идет сразу с компилятором MinGW с версией GCC 4.8, смело обновил свой с 4.7.2 до 4.8.1. Проделав все подготовительные процедуры, приступил к сборке ICU.... и тут выпала первая сложность - компиляция оборвалась с ошибкой, что не найдено определение "stat",

воскресенье, 17 февраля 2013 г.

Сборка Qt5 из исходников компилятором MinGW (дубль два)

- Ок. Что вам нужно еще, кроме  чуда?
- Оружие. Много оружия.
Matrix (c)

Как и было обещано, в конце января увидел свет новый релиз Qt5, который уже полностью поддается компиляции MinGW, о чем было извещено в блоге Qt-project, а так же размещен на странице загрузки бинарный выпуск Qt5 совместно с MinGW (GCC 4.7). Парни сдержали и другое свое слово, снабдив штатную сборку версией MinGW с GCC поновее, чем версией 4.4. Итак, случилось чудо и всем, кто не желает время тратить на самостоятельную компиляцию библиотеки, ничего не мешает скачать подготовленный бинарник (кстати, уже с последней версией Qt Creator'а) и творить, творить .... :-). Остальным же предлагаю ознакомиться с моим "крестным путем" сборки Qt5, глядишь, что пригодится ;-). (Про сборку Qt4 Вы всегда можете прочитать тут.)

среда, 26 декабря 2012 г.

Модульная елка. Модульный Qt.

Наступает самое чудесное время любимое взрослыми и детьми - Новогодние праздники. Предлагаю и Вам не оставаться в стороне и порадовать своих коллег или близких (на худой конец, можно и себя любимого/любимую) вот такой интересной елочкой сделанной по технике модульного оригами. Создание композиции поможет скоротать рабочее время (только тс-с-с-с ;-)) и повысить новогодний "спирит"! А сказать "спасибо" за предоставленную схему, можно и нужно Татьяне Просняковой - мастеру своего дела! 

Праздник то волшебный, глядишь и под такую ель Дед Клаус Мороз положит какой-нибудь интересный подарок :-). Вот так вот нежданно-негаданно, парни из Qt-project & Digia преподнесли нам всем подарок и выпустили релиз Qt5. Что тут говорить... многие его ждали и, очевидно, дождались. Новшеств много, и тот кто в "теме" уже почувствовал запах "наживы" :-), кто же не следит за развитием библиотеки - предлагаю пройти по приведенной ссылке и ознакомиться с пресс-релизом. Только вот сторонникам свободного ПО (читай "пользующимся компилятором MinGW"), ведущим свою разработки в ОС Windows (как-то странно звучит, не находите? :-)), переходить на новую версию пока не рекомендую. 

Во-первых, на странице загрузки библиотеки отсутствует бинарная сборка компилятором MinGW.

четверг, 6 сентября 2012 г.

Лечим "кракозябры" в консоли сборки Qt Creator под Windows

Добрый день, друзья!

Не понятно? Вот и с Qt Creator'ом так - о чем он там пишет на "русском" в консоли сборки - черт его знает... :-). Хотя здесь только "половина" его вины, а именно нежелание разработчиков "пофиксить" ситуацию, когда вывод вызываемого в консоли mingw32 идет в кодировке ibm866, а сам Qt Creator работает в кодировке cp1251. Конечно, проблемы нет для англоязычных разработчиков (ну и для тех, у кого "локаль" на ПК установлена в одной из вариации "английской"), но что же делать нам, истинным патриотам своего языка? :-) 

На форумах, посвященных Qt, есть несколько тем с означенной проблемой и парочкой возможных путей решения, основная идея которых это замена конфигурационных файлов самого Qt Creator'а перед его компиляцией либо уже пропатчивание готового исполняемого файла. Больше всего решений связано с заменой файла jom.exe, ранее пропатченным одним умельцем b-s-a (например, тут можете ознакомиться более подробно). Хотя это, по сути, справедливо для компилятора от Visual Studio, а у нас тут все же mingw32 :-). 

Поэтому, если Вам не помогли способы описанные на ресурсах указанных выше, предлагаю ознакомиться и с моим решением данной проблемы... "костыльным" решением ... но имеющим право на существование ;-).

вторник, 14 августа 2012 г.

Qt снова меняет "хозяина"

Не прошло и пяти лет "мои юные любители прекрасного" Qt, как среда снова сменила владельца. Как многие и предполагали еще в прошлом году - им стала компания Digia, ранее уже приобретшая бизнес коммерческого лицензирования. Теперь же Digia принадлежит ВСЕ - и лицензии и табуретки :-). К чему приведет эта покупка покажет ближайшее будущее, но уже сейчас заявлена поддержка новых платформ Android, iOS и всеми нами ожидаемой Windows 8 ;-). Очевидно дела у Digia действительно идут так хорошо, как написано... либо у Nokia так плохо, как не говорят. Отказ финского производителя полностью от Qt выглядит как реализация "неугодных" активов и, я не удивлюсь, если новых моделей телефонов с поддержкой Qt мы уже не увидим. Зато как все многообещающе начиналось... ох и ах :-).

Тем не менее, среда Qt от этого только выигрывает, по мнению многих пользователей, так как снова получает ориентир не desktop. Осталось только проверить это временем! ;-)

пятница, 3 августа 2012 г.

Сборка Qt из исходников компилятором MinGW

С самого первого своего знакомства с Qt меня не покидало желание самостоятельно скомпилировать эту библиотеку. Однако, постоянно отпугивали возможные сложности связанные с этим процессом - настройка среды, предварительная конфигурация и т.д. и т.п. Достаточно проще было взять на сайте уже бинарный пакет и клепать свои "калькуляторы" :-). Но в один момент "небеса разверзлись" и "перст указующий" дал понять, что пользоваться компилятором GCC 4.4 уже не модно и пора переходить на версию поновее. Тут то и пришлось снова вернуться к идее самостоятельной компиляции Qt, поскольку бинарная версия с сайта (собранная GCC 4.4) наотрез отказывалась работать с последней версией MinGW (оно то и понятно - GCC 4.6). Как оказалось, процесс этот несложный, поэтому я и решил поделиться своим HowTo с такими же страждущими как я - дабы не пугались они "гнева праведного".... т.е. сложностей, а экспериментировали и развивались :-).
Приступим...
MinGW. Выбор пакетов для установки

вторник, 29 мая 2012 г.

Qt Creator - ни релиза, без сюрприза!

В то время, когда вся наша огромная страна, а частью и все бывшие союзные республики, отмечали День победы (за что еще ОДНО ОГРОМНОЕ СПАСИБО нашим дедам, отцам, бабушкам и матерям, которые этот день "приближали как могли"), неугомонные программисты из команды Qt выпустили в свет новую версию Qt Creator - 2.5.0.

Как обычно заявлен внушительный список изменений и дополнений, а так же парочка новых плагинов (один из которых, судя по фамилиям, написали наши соотечественники - Дмитрий Савченко и Василий Сорокин). Но основное изменение, как мне видится, затронет Windows пользователей инструментария Qt. Исходя из замечания для пользователей MinGW, кое в моем вольном переводе можно озвучить как:

пятница, 4 ноября 2011 г.

Qt примеряет Clang.


Бродил тут давеча по сайту Qt и неожиданно для себя набрел вот на этот пост. Оказывается, парни из лаборатории Qt уже достаточно давно примеряют компилятор Clang для своих наработок. Кто не в курсе, Clang – компилятор C/C++ на базе платформы LLVM.  Запись в блоге было забавно читать, учитывая, что основным спонсором разработки Clang выступает компания Apple :-).
Но, если отбросить в стороны всякие мотивы для холиваров, новость то замечательная! Чего только стоит улучшенный разбор синтаксиса, по сравнению с GCC, позволяющий в режиме отладки получать ошибки с позиционированием вплоть до символа.
Собрать саму библиотеку Qt сейчас вам навряд ли удастся, но вот QtCreator попробовать можете. По крайней мере, разработчикам Qt это удалось :-).
Остается лишь понадеется, что работа по заточке Qt под Clang не остановится, и в скором времени у нас появится выбор между GCC и Clang. А выбор – это всегда хорошо. 

пятница, 1 июля 2011 г.

Qt: сборка плагина QIBASE. Qt + FireBird Embedded.

     Задумал я тут в недавнем прошлом переписать на Qt программу ранее созданную в Visual Basic 6.0. Попутно решил заменить "классический" сервер БД MySQL, используемый сейчас, каким-либо встраиваемым решением. Основная идея задумки - получить кросс-платформенное и портативное приложение. Исключая хранилища данных основанных на файлах, функционал Qt предложил на выбор, по-сути, три возможных решения: 1) SQLite, 2) MySQL Embedded, 3) FireBird Embedded.
     Первым делом, конечно же, было решено задействовать MySQL Embedded. Следуя инструкции, описанной в справочной системе Qt, собрал плагин QMYSQL слинкованный с MySQL Embedded библиотекой. Сборка прошла успешно, тестовое приложение плагин находило, а вот работать категорически отказывалось. Перелопатив десяток "веток" форумов по теме "Qt + MySQL Embedded" вышел на один сайт с подробным описанием манипуляций, необходимых что бы эту связку заставить работать. Правда, почитав представленную информацию, пришлось отказаться от идеи, т.к. один из ключевых моментов - статическая линковка библиотеки MySQL Embedded (что мне категорически не подходит). Не знаю справедливо ли это для пользователей Linux, но то, что и них есть свои проблемы с ее работой это факт (хотя, возможно, им просто не хватало терпения или библиотеки hands.so ;-)). По некоторым слухам, в Qt 4.8 обещают включить отдельно плагин для MySQL Embedded (на момент написания этого очерка в snapshot Qt 4.8 все оставалось как и прежде - один плагин), пока же этого не произошло, для себя я решил "забыть туда дорогу" :-).
     Следующая на очереди была СУБД SQLite. Сразу порадовала ее поддержка Qt прямо "из коробки", а так же внутренняя кодировка данных - UTF-8/UTF-16. Но радоваться долго не пришлось, как оказалось, SQLite регистронезависимый поиск поддерживает только для символов входящих в кодировку ASCII. Для всех остальных предлагается писать свои функции сравнения, либо использовать связку со сторонней библиотекой ICU. Перспектива собирать библиотеку ICU и перекомпилировать SQLite с ее участием ... меня не впечатлила и я решил, предварительно, ознакомиться с FireBird Embedded. Сделал я это точно не зря - и "головняка" меньше и возможностей больше ;-).

суббота, 28 мая 2011 г.

Qt: SIGSEGV Segmentation fault при запуске программы в режиме отладки. Возможная причина и решение.

     После N-ного количества времени, потребовалось мне запустить одно приложение в Qt Creator'е (в ОС Windows XP) в режиме отладки. Как же я был неприятно удивлен, когда IDE поругалась на "Segmentation fault" и наотрез отказалось "дебажить" программу. Поначалу, казалось,что это результат несовместимости кода, набранного в более старой среде, и последней версии Qt SDK. Но программа прекрасно компилировалась и запускалась и в debug и release вариантах. Так "несовместимость версий" отпала, а вот таинственная "guard32.dll", что загадочным образом подключалась к запускаемому приложению, просветила суть вещей :-).