В поддержку Qt

статьи в помощь разработчику

   

Главная

Статьи:

Выбор инструментов разработки

Установка MinGW

Установка Qt 4

Установка Qt 5

Сборка Qt 5

Установка Qt Creator

Проблемы Qt 4.8.3

Распараллеливание компиляции

Распараллеливание для Qt 5.0.1

Сборка отладчика GDB

Установка библиотеки Qwt

Плагин Qwt

Установка QwtPolar

Установка QwtPplot3D

Изменение палитры цветов QwtPlot3D

Конфигурация сборки по умолчанию

Сборка Qt Creator из исходников

Пример использования QwtPlot

Масштабирование QwtPlot в стиле TChart

Синхронное масштабирование

Пример использования QwtPolar

Пример использования QwtPlot3D

Редактирование QSplitter

Сборка в Ubuntu для Windows

Установка пакетов без интернета

Установка драйвера NVIDIA

 

Главная > Сборка Qt Creator из исходников

 

Сборка Qt Creator для Windows из исходников

Настоящая статья призвана оказать помощь в сборке Qt Creator из исходников. Одним из побудительных мотивов произвести сборку Qt Creator из исходников, помимо получения удовольствия от самого процесса, является стремление исправить проблему с дизайнером форм, интегрированным в Qt Creator, – он станет понимать плагины библиотек Qwt и QwtPolar, и на панели инструментов дизайнера появятся группы виджетов, относящихся к этим библиотекам.

Начнем с того, что со связкой инструментов Qt 5 и MinGW 4.7 (см. здесь) производить сборку Qt Creator не рекомендуется. Еще на этапе qmake можно наблюдать следующее сообщение

Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other version of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!

Оно появляется при разборе модулей

src/plugins/coreplugin
src/plugins/qmldesigner
src/tools/qmlpuppet/qmlpuppet

Вероятнее всего именно по этой причине после успешного окончания сборки запуск Qt Creator сопровождается несколько раз выскакивающим сообщением об ошибке

Нечто подобное наблюдается при запуске Qt Creator, устанавливаемого вместе с библиотекой Qt 5, но там эту проблему удается решить (подробности в статье), а здесь не получается. Других "косяков" в работе Qt Creator, собранного вышеуказанной связкой инструментов, обнаружить не удалось, даже виджеты Qwt в дизайнере форм появились.

В связи с изложенным выше далее рассматривается сборка Qt Creator из исходников только со связкой инструментов Qt 4 и MinGW 4.6, инструкции по их установке доступны здесь и здесь. Подразумевается также, что отладчик GDB уже собран и размещен в папке C:\Qt\qtcreator-gdb-7.4.1 (подробности в статье).

При сборке Qt Creator, начиная с версии 2.5.0, появился нюанс, на который следует обращать внимание. Количество параметров в строке вызова компилятора g++ увеличилось, поэтому сборка может завершиться ошибкой, связанной со слишком большой длиной командной строки. Чтобы предотвратить это, следует присваивать короткие имена папке, в которой расположены исходники проекта, а также папке, в которой осуществляется сборка. Рекомендуется также избегать большой вложенности расположения этих папок. Рассмотрим подробно порядок действий.

Сборка

1. Скачиваем на сайте разработчика архив с исходниками Qt Creator

qt-creator-2.6.2-src.zip   26 MB
(версия, доступная на момент написания статьи)

2. Распаковываем архив в корень диска D:\. Переименовываем папку с исходником D:\qt-creator-2.6.1-src в D:\s, например.

3. Проект будем собирать в папке C:\Qt\q. Перед началом сборки создаем эту папку.

4. Запускаем Qt 4.8.4 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) и выполняем команды

cd /D C:\Qt\q
qmake D:\s\qtcreator.pro -r -spec win32-g++

5. После выполнения qmake размер папки увеличивается до 90 MB, и вней появляется Makefile. Далее выполняем непосредственно команду сборки

mingw32-make

Сборка выполнится быстрей, если применяется распараллеливание компиляции (см. соответствующую статью).

Очистка

По окончании сборки размер папки C:\Qt\q превышает полтора гигабайта, проект требует очистки. Можно было бы выполнить специально для этого предназначенную команду очистки mingw32-make clean, но она уберет из проекта и те вещи, которые убирать вовсе не следует, после нее собранный проект даже не запустится. Поэтому предлагается выполнить очистку проекта вручную, делаем следущее:

1. Удаляем папку C:\Qt\q\src.

Ого! Папка C:\Qt\q уменьшилась до 70 MB! Можно было бы этим ограничиться, но можно убрать еще немного.

2.  Удаляем папки

C:\Qt\q\lib\qtcreator\qtcomponents\debug
C:\Qt\q\lib\qtcreator\qtcomponents\release
C:\Qt\q\share\qtcreator\debug
C:\Qt\q\share\qtcreator\release
C:\Qt\q\share\qtcreator\translations\debug
C:\Qt\q\share\qtcreator\translations\release

и файлы

C:\Qt\q\Makefile
C:\Qt\q\lib\qtcreator\qtcomponents\Makefile
C:\Qt\q\lib\qtcreator\qtcomponents\Makefile.Debug
C:\Qt\q\lib\qtcreator\qtcomponents\Makefile.Release
C:\Qt\q\share\Makefile
C:\Qt\q\share\qtcreator\Makefile.static
C:\Qt\q\share\qtcreator\Makefile.static.Debug
C:\Qt\q\share\qtcreator\Makefile.static.Release
C:\Qt\q\share\qtcreator\translations\Makefile
C:\Qt\q\share\qtcreator\translations\Makefile.Debug
C:\Qt\q\share\qtcreator\translations\Makefile.Release

Все, больше пока лучше ничего не трогать. Обратите внимание, что в папке C:\Qt\q\share\qtcreator\translations остались только qm-файлы, необходимые для перевода Qt Creator.

Прежде чем продвигаться дальше, переименуем папку назначения C:\Qt\q, в которой производилась сборка, во что-нибудь более вразумительное, например, C:\Qt\qt-creator-2.6.2.

Автономность

Полученный нами Qt Creator зависит от библиотеки Qt 4, которая была задействована в процессе сборки, и использовавшегося при этом компилятора. Если пути к ним не прописаны в переменной Path, то Qt Creator даже не запустится. Хотелось бы иметь возможность использовать его независимо от того, какую именно связку инструментов мы применяем для работы над своими проектами. Для достижения этой цели необходимо поместить в папку

C:\Qt\qt-creator-2.6.2\bin

все библиотеки, от которых существует прямая или косвенная зависимость файлов Qt Creator. У меня получился следующий список

– из папки компилятора C:\Qt\mingw-4.6\bin

libgcc_s_dw2-1.dll, libstdc++-6.dll, mingwm10.dll

– из папки библиотеки Qt C:\Qt\qt-4.8.4\bin

phonon4.dll, Qt3Support4.dll, QtCLucene4.dll, QtCore4.dll, QtDeclarative4.dll, QtDesigner4.dll, QtDesignerComponents4.dll, QtGui4.dll, QtHelp4.dll, QtMultimedia4.dll, QtNetwork4.dll, QtOpenGL4.dll, QtScript4.dll, QtSql4.dll, QtSvg4.dll, QtTest4.dll, QtWebKit4.dll, QtXml4.dll, QtXmlPatterns4.dll

Теперь Qt Creator запустится и будет работать независимо от того, какие именно пути прописаны в переменной Path. Для достижения большего эффекта стоит скопировать все qm-файлы (или, по крайней мере, qm-файлы русского языка) из папки C:\Qt\qt-4.8.4\translations в папку C:\Qt\qt-creator-2.6.2\share\qtcreator\translations.

Настройка

1. Запускаем Qt Creator, выбираем пункт главного меню Инструменты > Параметры... В открывшемся окне на вкладке Сборка и запуск > Основное указываем каталог проектов, например, C:\Qt\qt-proj (этот каталог надо заблаговременно создать).

2. На вкладке Текстовый редактор > Поведение назначаем Кодировкам файлов > По умолчанию значение windows-1251 / CP1251.

3. Далее выбираем вкладку Сборка и запуск > Компиляторы, убеждаемся, что имеется нужный Вам компилятор, например, MinGW (x86 32bit), все зависит от пути, прописанного в переменную Path. Если требуемый компилятор не определился, то добавляем его с помощью кнопки Добавить > MinGW.

4. На вкладке Сборка и запуск > Профили Qt убеждаемся, что имеется профиль Qt 4.8.4 в PATH (qt-4.8.4) и для него определен помощник Дампер QML (или другой профиль в зависимости от значения системной переменной QTDIR и пути, прописанного в переменную Path). Нужный профиль Qt можно добавить, воспользовавшись кнопкой с соответствующим названием.

5. На вкладке Сборка и запуск > Наборы имеется связка инструментов Desktop (по умолчанию). Для нее выбран правильный компилятор MinGW (x86 32bit), но указан неработающий отладчик GDB C:\Qt\mingw-4.6\bin\gdb.exe. Надо исправить ситуацию, нажав Управление... > Изменить... и указав собранный выше отладчик C:\Qt\qtcreator-gdb-7.4.1\gdb-i686-pc-mingw32.exe. Закрываем окно Параметры, нажав кнопку OK. Опять же, имеется возможность создать требуемую связку инструментов с помощью кнопки Добавить.

Плагины

В начале статьи отмечалось, что в дизайнере форм собранного Qt Creator должны отображаться виджеты библиотек Qwt и QwtPolar. Именно это, по видимому, и является основной причиной, побуждающей собирать его из иходников. Так вот, виджеты появляются, но этому, пожалуй, следует посвятить отдельную статью.

 

На этом все этапы сборки, очистки, настройки завершены, можно пользоваться собранным Qt Creator.

 

Это новая редакция статьи, старая редакция доступна по ссылке.