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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Предисловие: в работе)
(Конфигурация)
 
(30 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
== Предисловие ==
+
{{TestedOn|Qt 4.3.x}}
 +
 
 +
 
 +
= Предисловие =
Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br />
Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br />
Моя концепция работы с библиотекой Qt выглядит следующим образом:<br />
Моя концепция работы с библиотекой Qt выглядит следующим образом:<br />
-
Не редко возникает необходимость работать с несколькими версиями библиотеки, а также поразному собраными либо как динамические библиотеки либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я нелюблю работать в консоли, то я запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, а он получается запущен в определенном окружении. И из него уже открываю исходники или файлы проектов.
+
Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов.
-
Далее вам понадобится скачать некоторые компоненты из интернета.<br />
+
Далее вам понадобится скачать некоторые компоненты из сети Интернет.<br />
'''Основные компоненты:'''
'''Основные компоненты:'''
-
* Компилятор MinGW32 (скачать: [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197 сетевой автоустановщик])
+
* Компилятор MinGW32 (скачать: [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197 сетевой автоустановщик] | скачать: [http://crossplatform.ru/uploads/mingw3.4.5.zip архив готовой сборки])
* Исходники библиотеки Qt (скачать: [ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.3.4.zip версию 4.3.4] или [ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.3.2.zip версию 4.3.2] )
* Исходники библиотеки Qt (скачать: [ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.3.4.zip версию 4.3.4] или [ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.3.2.zip версию 4.3.2] )
'''Дополнительные компоненты:'''
'''Дополнительные компоненты:'''
-
* Перевод документации Qt (скачать: [http://crossplatform.ru/documentation/qtdoc4.3/_download.php Архив Qt документации] )
+
* [[Qt_RTT|Перевод документации Qt]]
-
* Перевод сообщений Qt и инструментальных средств (скачать: [http://www.forum.crossplatform.ru/index.php?showtopic=688 Перевод библиотеки Qt и инструментов Qt] )
+
* [[Перевод сообщений Qt]]
 +
* [[Перевод инструментов Qt]]
-
== Установка ==
+
= Установка =
-
=== Установка компилятора ===
+
== Установка компилятора ==
-
Вам понадобится приблизительно 72 МиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Далее каталог, где установлен компилятор, мы будем называть <MINGWDIR>
+
Вам понадобится приблизительно 72 МиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Далее каталог, где установлен компилятор, мы будем называть '''<MINGWDIR>'''.
-
Запустите установщик и следуйте инструкциям.
+
Запустите установщик и следуйте инструкциям.<br />
-
Замечание: Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает с инета ~14МиБ)
+
{{Замечание}} ''Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает из интернета ~{{Nobr|14 МиБ}}.''
-
Установка библиотеки Qt
+
 
 +
== Установка библиотеки Qt ==
Вам понадобится приблизительно 2 ГиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы.
Вам понадобится приблизительно 2 ГиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы.
-
Распакуйте архив с исходниками в каталог, например disk:\QT\QTVER, где QTVER - версия библиотек (например, 4.3.4).
+
Распакуйте архив с исходниками в каталог, например '''disk:\QT\QTVER''', где '''QTVER''' - версия библиотек (например, 4.3.4).<br />
-
Далее этот каталог мы будем называть <QTDIR>.
+
Далее этот каталог мы будем называть '''<QTDIR>'''.
-
Конфигурация
+
 
 +
=== Конфигурация ===
Теперь нужно провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора.
Теперь нужно провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора.
-
Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге <QTDIR> создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, qt432.bat, вот его текст:
+
Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге '''<QTDIR>''' создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, '''qt432.bat''', вот его текст:
-
SET QTDIR=<QTDIR>
+
{{code|bash|code=SET QTDIR=<QTDIR>
-
SET PATH=<QTDIR>\bin
+
SET MINGWDIR=<MINGWDIR>
-
SET PATH=%PATH%;<MINGWDIR>\bin
+
-
SET PATH=%PATH%;%SystemRoot%\System32
+
SET QMAKESPEC=win32-g++
SET QMAKESPEC=win32-g++
-
cmd.exe
+
 +
SET PATH=%QTDIR%\bin;%MINGWDIR%\bin;%SystemRoot%\System32
 +
 +
cmd.exe}}
-
(не делайте пробелов между знаками припинания в операторе SET)
+
{{Замечание}} ''не делайте пробелов между знаками препинания в операторе SET''
-
В этом файле содается переменная окружения QTDIR, она нужна библиотеке, а также переменная PATH, где перечислены пути по которым ОС MS Windows будет искать исполняемые файлы. Ну и последняя переменная - QMAKESPEC - с помощью которой мы указываем программе конфигурации, а после сборки и самой библиотеке, о том каким компилятором мы пользуемся, возможные значения этой переменной эквивалентны именам подкаталогов расположеных в \mkspecs
+
-
Теперь, чтобы было проще указать список ключей для программы конфигурации, мы создадим еще один bat-файл и назовем его myconf.bat:
+
В этом файле создается переменная окружения ''QTDIR'', она нужна библиотеке, а также переменная ''PATH'', где перечислены пути, по которым ОС MS Windows будет искать исполняемые файлы. Ну и последняя переменная - ''QMAKESPEC'' - с помощью которой мы указываем программе конфигурации, а после сборки и самой библиотеке, о том каким компилятором мы пользуемся, возможные значения этой переменной эквивалентны именам подкаталогов, расположенных в ''/mkspecs''
-
configure  -debug-and-release -qt-libpng -qt-libjpeg
+
-
Запустите ваш qt432.bat и в появившемся окне командной строки скомандуйте:
 
-
X:>myconf.bat
 
-
, далее мы будем работать в этом окне пока не собирем библиотеку.
+
Теперь, чтобы было проще указать список ключей для программы конфигурации, мы создадим еще один bat-файл и назовем его '''myconf.bat''':
 +
{{команда|configure  -debug-and-release -qt-libpng -qt-libjpeg}}
 +
 
 +
{{Замечание| чтобы узнать другие ключи выполните '''''configure -help''''', например, чтобы включить модуль поддержки '''mysql''', необходимо добавить:<br /> '''-plugin-sql-mysql'''.}}
 +
Запустите ваш '''qt432.bat''' и в появившемся окне командной строки скомандуйте:
 +
{{команда|X:>myconf.bat}}
 +
далее мы будем работать в этом окне пока не соберем библиотеку.
В самом начале вас спросят о том согласны ли вы с лицензией, ответьте на вопрос утвердительно, далее процесс конфигурации происходит автоматически - создаются файлы проектов, для примеров и инструментария, а по ним мэйкфайлы для последующей компиляции.
В самом начале вас спросят о том согласны ли вы с лицензией, ответьте на вопрос утвердительно, далее процесс конфигурации происходит автоматически - создаются файлы проектов, для примеров и инструментария, а по ним мэйкфайлы для последующей компиляции.
Можно сходить покурить (~10...25 мин).
Можно сходить покурить (~10...25 мин).
-
Теперь собственно сборка
 
-
Если конфигурация завершилась удачно, вам будет предложено запустить программу make, она читает получившиеся мэйкфайлы и исполняет инструкции в них. В MinGW32 ее функцию выполняет mingw32-make.exe, выполните эту программу.
+
=== Теперь, собственно, сборка ===
 +
 
 +
Если конфигурация завершилась удачно, вам будет предложено запустить программу '''make''', она читает получившиеся мэйкфайлы и исполняет инструкции в них. В '''MinGW32''' ее функцию выполняет '''mingw32-make.exe''', выполните эту программу.
Процесс компиляции и сборки релизных и отладочных библиотек происходит очень долго (~1...2часа).
Процесс компиляции и сборки релизных и отладочных библиотек происходит очень долго (~1...2часа).
-
Если в процессе компиляции не возникло ошибок, и в каталоге \bin, появились такие файлы:
+
Если в процессе компиляции не возникло ошибок и в каталоге ''/bin'' появились такие файлы:
-
QtCore4.dll
+
QtCore4.dll
-
QtCored4.dll
+
QtCored4.dll
-
QtGui4.dll
+
QtGui4.dll
-
QtGuid4.dll
+
QtGuid4.dll
-
...
+
...
-
assistant.exe
+
moc.exe
-
designer.exe
+
qmake.exe
-
linguist.exe
+
rcc.exe
-
lrelease.exe
+
uic.exe
-
lupdate.exe
+
-
moc.exe
+
-
qmake.exe
+
-
rcc.exe
+
-
uic.exe
+
то библиотека Qt готова к работе!
то библиотека Qt готова к работе!
 +
Можете закрыть командную строку.
Можете закрыть командную строку.
-
Последние штрихи
 
-
установим перевод как описано в форуме
+
= Последние штрихи =
 +
 
 +
установим перевод как описано в [http://www.forum.crossplatform.ru/index.php?showtopic=688 форуме]
 +
 
 +
= См. также =
 +
* [[Введение в Qt]]
 +
* [[Qt_RTT|Перевод документации Qt]]
 +
* [http://prog.org.ru/wiki/index.php?title=Сборка_Qt_без_зависимостей_(MinGW) Статическая сборка Qt без зависимостей (MinGW)]
 +
 
 +
[[Категория:Qt FAQ]]

Текущая версия на 13:43, 23 декабря 2009

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

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

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


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

configure  -debug-and-release -qt-libpng -qt-libjpeg
Замечание Замечание: чтобы узнать другие ключи выполните configure -help, например, чтобы включить модуль поддержки mysql, необходимо добавить:
-plugin-sql-mysql.

Запустите ваш 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 готова к работе!

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

[править] Последние штрихи

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

[править] См. также