Сборка Qt с использованием MinGW32

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
40px Процедуры, описанные в данной статье, были протестированы на версии Qt 4.3.x
Возможно, всё будет работать и на более поздних версиях.
Если вы нашли ошибку, пожалуйста помогите обновить эту статью.


Содержание

Предисловие

Предполагается, что вы прочитали Введение
Моя концепция работы с библиотекой Qt выглядит следующим образом:
Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов.

Далее вам понадобится скачать некоторые компоненты из сети Интернет.
Основные компоненты:

Дополнительные компоненты:

Установка

Установка компилятора

Вам понадобится приблизительно 72 МиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Далее каталог, где установлен компилятор, мы будем называть <MINGWDIR>. Запустите установщик и следуйте инструкциям.
Замечание: Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает из интернета ~14 МиБ).

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

Вам понадобится приблизительно 2 ГиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Распакуйте архив с исходниками в каталог, например disk:\QT\QTVER, где QTVER - версия библиотек (например, 4.3.4).
Далее этот каталог мы будем называть <QTDIR>.

Конфигурация

Теперь нужно провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге <QTDIR> создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, qt432.bat, вот его текст:

SET QTDIR=<QTDIR>
SET PATH=<QTDIR>\bin
SET PATH=%PATH%;<MINGWDIR>\bin
SET PATH=%PATH%;%SystemRoot%\System32
SET QMAKESPEC=win32-g++
cmd.exe

Замечание: не делайте пробелов между знаками препинания в операторе SET

В этом файле создается переменная окружения QTDIR, она нужна библиотеке, а также переменная PATH, где перечислены пути, по которым ОС MS Windows будет искать исполняемые файлы. Ну и последняя переменная - QMAKESPEC - с помощью которой мы указываем программе конфигурации, а после сборки и самой библиотеке, о том каким компилятором мы пользуемся, возможные значения этой переменной эквивалентны именам подкаталогов, расположенных в /mkspecs


Теперь, чтобы было проще указать список ключей для программы конфигурации, мы создадим еще один bat-файл и назовем его myconf.bat:

configure  -debug-and-release -qt-libpng -qt-libjpeg

Запустите ваш qt432.bat и в появившемся окне командной строки скомандуйте:

X:>myconf.bat

далее мы будем работать в этом окне пока не соберем библиотеку.

В самом начале вас спросят о том согласны ли вы с лицензией, ответьте на вопрос утвердительно, далее процесс конфигурации происходит автоматически - создаются файлы проектов, для примеров и инструментария, а по ним мэйкфайлы для последующей компиляции. Можно сходить покурить (~10...25 мин).

Теперь, собственно, сборка

Если конфигурация завершилась удачно, вам будет предложено запустить программу make, она читает получившиеся мэйкфайлы и исполняет инструкции в них. В MinGW32 ее функцию выполняет mingw32-make.exe, выполните эту программу. Процесс компиляции и сборки релизных и отладочных библиотек происходит очень долго (~1...2часа).

Если в процессе компиляции не возникло ошибок и в каталоге /bin появились такие файлы:

QtCore4.dll
QtCored4.dll
QtGui4.dll
QtGuid4.dll
...
moc.exe
qmake.exe
rcc.exe
uic.exe

то библиотека Qt готова к работе!

Можете закрыть командную строку.

Последние штрихи

установим перевод как описано в форуме

См. также