Сборка Qt с использованием MinGW32
Материал из Wiki.crossplatform.ru
Lit-uriy (Обсуждение | вклад) (добавил отступ от Инфоблока) |
Lit-uriy (Обсуждение | вклад) (→Конфигурация) |
||
(20 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | {{TestedOn| | + | {{TestedOn|Qt 4.3.x}} |
- | + | = Предисловие = | |
Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br /> | Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br /> | ||
Моя концепция работы с библиотекой Qt выглядит следующим образом:<br /> | Моя концепция работы с библиотекой Qt выглядит следующим образом:<br /> | ||
- | Не редко возникает необходимость работать с несколькими версиями библиотеки, а также | + | Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов. |
- | Далее вам понадобится скачать некоторые компоненты из | + | Далее вам понадобится скачать некоторые компоненты из сети Интернет.<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 | + | * [[Qt_RTT|Перевод документации Qt]] |
- | * Перевод сообщений Qt | + | * [[Перевод сообщений Qt]] |
+ | * [[Перевод инструментов Qt]] | ||
- | + | = Установка = | |
- | + | == Установка компилятора == | |
- | Вам понадобится приблизительно 72 МиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Далее каталог, где установлен компилятор, мы будем называть '''<MINGWDIR>''' | + | Вам понадобится приблизительно 72 МиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. Далее каталог, где установлен компилятор, мы будем называть '''<MINGWDIR>'''. |
Запустите установщик и следуйте инструкциям.<br /> | Запустите установщик и следуйте инструкциям.<br /> | ||
- | + | {{Замечание}} ''Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает из интернета ~{{Nobr|14 МиБ}}.'' | |
- | + | == Установка библиотеки Qt == | |
Вам понадобится приблизительно 2 ГиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. | Вам понадобится приблизительно 2 ГиБ на диске, каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы. | ||
Строка 34: | Строка 35: | ||
Теперь нужно провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. | Теперь нужно провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. | ||
Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге '''<QTDIR>''' создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, '''qt432.bat''', вот его текст: | Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге '''<QTDIR>''' создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, '''qt432.bat''', вот его текст: | ||
- | + | {{code|bash|code=SET QTDIR=<QTDIR> | |
- | + | SET MINGWDIR=<MINGWDIR> | |
- | SET PATH=% | + | SET QMAKESPEC=win32-g++ |
- | + | ||
- | + | SET PATH=%QTDIR%\bin;%MINGWDIR%\bin;%SystemRoot%\System32 | |
- | + | ||
- | + | cmd.exe}} | |
- | В этом файле | + | {{Замечание}} ''не делайте пробелов между знаками препинания в операторе SET'' |
+ | |||
+ | В этом файле создается переменная окружения ''QTDIR'', она нужна библиотеке, а также переменная ''PATH'', где перечислены пути, по которым ОС MS Windows будет искать исполняемые файлы. Ну и последняя переменная - ''QMAKESPEC'' - с помощью которой мы указываем программе конфигурации, а после сборки и самой библиотеке, о том каким компилятором мы пользуемся, возможные значения этой переменной эквивалентны именам подкаталогов, расположенных в ''/mkspecs'' | ||
Теперь, чтобы было проще указать список ключей для программы конфигурации, мы создадим еще один bat-файл и назовем его '''myconf.bat''': | Теперь, чтобы было проще указать список ключей для программы конфигурации, мы создадим еще один bat-файл и назовем его '''myconf.bat''': | ||
- | + | {{команда|configure -debug-and-release -qt-libpng -qt-libjpeg}} | |
+ | {{Замечание| чтобы узнать другие ключи выполните '''''configure -help''''', например, чтобы включить модуль поддержки '''mysql''', необходимо добавить:<br /> '''-plugin-sql-mysql'''.}} | ||
Запустите ваш '''qt432.bat''' и в появившемся окне командной строки скомандуйте: | Запустите ваш '''qt432.bat''' и в появившемся окне командной строки скомандуйте: | ||
- | + | {{команда|X:>myconf.bat}} | |
- | далее мы будем работать в этом окне пока не | + | далее мы будем работать в этом окне пока не соберем библиотеку. |
В самом начале вас спросят о том согласны ли вы с лицензией, ответьте на вопрос утвердительно, далее процесс конфигурации происходит автоматически - создаются файлы проектов, для примеров и инструментария, а по ним мэйкфайлы для последующей компиляции. | В самом начале вас спросят о том согласны ли вы с лицензией, ответьте на вопрос утвердительно, далее процесс конфигурации происходит автоматически - создаются файлы проектов, для примеров и инструментария, а по ним мэйкфайлы для последующей компиляции. | ||
Можно сходить покурить (~10...25 мин). | Можно сходить покурить (~10...25 мин). | ||
- | === Теперь собственно сборка === | + | === Теперь, собственно, сборка === |
Если конфигурация завершилась удачно, вам будет предложено запустить программу '''make''', она читает получившиеся мэйкфайлы и исполняет инструкции в них. В '''MinGW32''' ее функцию выполняет '''mingw32-make.exe''', выполните эту программу. | Если конфигурация завершилась удачно, вам будет предложено запустить программу '''make''', она читает получившиеся мэйкфайлы и исполняет инструкции в них. В '''MinGW32''' ее функцию выполняет '''mingw32-make.exe''', выполните эту программу. | ||
Процесс компиляции и сборки релизных и отладочных библиотек происходит очень долго (~1...2часа). | Процесс компиляции и сборки релизных и отладочных библиотек происходит очень долго (~1...2часа). | ||
- | Если в процессе компиляции не возникло ошибок | + | Если в процессе компиляции не возникло ошибок и в каталоге ''/bin'' появились такие файлы: |
QtCore4.dll | QtCore4.dll | ||
QtCored4.dll | QtCored4.dll | ||
Строка 75: | Строка 79: | ||
Можете закрыть командную строку. | Можете закрыть командную строку. | ||
- | + | = Последние штрихи = | |
установим перевод как описано в [http://www.forum.crossplatform.ru/index.php?showtopic=688 форуме] | установим перевод как описано в [http://www.forum.crossplatform.ru/index.php?showtopic=688 форуме] | ||
- | + | = См. также = | |
* [[Введение в Qt]] | * [[Введение в Qt]] | ||
- | * [[ | + | * [[Qt_RTT|Перевод документации Qt]] |
+ | * [http://prog.org.ru/wiki/index.php?title=Сборка_Qt_без_зависимостей_(MinGW) Статическая сборка Qt без зависимостей (MinGW)] | ||
- | [[Категория:Qt]] | + | [[Категория:Qt FAQ]] |
Текущая версия на 13:43, 23 декабря 2009
![]() | Процедуры, описанные в данной статье, были протестированы на версии Qt 4.3.x Возможно, всё будет работать и на более поздних версиях. Если вы нашли ошибку, пожалуйста помогите обновить эту статью.
|
Содержание |
[править] Предисловие
Предполагается, что вы прочитали Введение
Моя концепция работы с библиотекой Qt выглядит следующим образом:
Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов.
Далее вам понадобится скачать некоторые компоненты из сети Интернет.
Основные компоненты:
- Компилятор MinGW32 (скачать: сетевой автоустановщик | скачать: архив готовой сборки)
- Исходники библиотеки Qt (скачать: версию 4.3.4 или версию 4.3.2 )
Дополнительные компоненты:
[править] Установка
[править] Установка компилятора
Вам понадобится приблизительно 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 готова к работе!
Можете закрыть командную строку.
[править] Последние штрихи
установим перевод как описано в форуме