Установка Qt + MinGW32

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

Перейти к: навигация, поиск

Содержание

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

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

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

[править] Установка

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

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

Если в вашей системе это единственный компилятор, то путь к катлогу <MINGWDIR>/bin можно указать в переменной окружения PATH, в противном случае может возникнуть конфликт между программами make и др. от разных компиляторов.

[править] Установка библиотеки Qt

Вам понадобится от 1,5 до 3 ГиБ на диске (в зависимости от версии). Также для работы программы установки необходим примерно такой же объем во временном каталоге (определяемом переменной окружения TEMP/TMP). Запустите автоустановщик, и следуйте его инструкциям. Каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы, например disk:\QT\QTVER, где QTVER - версия библиотек (например, 4.3.4). этот каталог мы будем называть <QTDIR>
Далее описаны отличия.

[править] Qt 4.4.x

Программа автоустановки для Qt версии 4.4.x содержит и релизные (*.dll) и отладочные (*d.dll) версии динамических библиотек. Однако модуль Phonon не собран. Сборка Phonon'а тема для отдельной статьи. Если вам не требуется этот модуль, то можно считать, что библиотека Qt готова к работе.

[править] Qt 4.3.x

Особенность установщика данной версии является то, что устанавливаются только релизные версии библиотек (*.dll). Для того, чтобы можно было осуществлять отладку нужно сконфигурировать, а затем собрать отладочные версии библиотеки Qt. Чтобы провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. Необходимо запустить командную строку Qt, находящуюся в меню кнопки "Пуск", например:
Кнопка "Пуск" -> "Программы" -> Qt 4.3.x -> Qt 4.3.4 (Build Debug Libraries)

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

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

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

  • QtCored4.dll
  • QtGuid4.dll
  • ...

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

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

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

Для того, чтобы можно было компилировать программы написанные на Qt, вам необходимо, чтобы инструменты Qt такие как qmake были известны ОС. Т.е. переменная окружения PATH должна содержать путь к каталогу <QTDIR>/bin. Для этого вы можете всякий раз запускать командную строку Qt (Кнопка "Пуск" -> "Программы" -> Qt 4.x.x -> Qt 4.x.x Command Prompt). Либо, если вы работаете только с одной версией Qt, создать две переменные окружения:

  • QTDIR=<QTDIR>
  • QMAKESPEC=win32-g++

и добавить в переменную PATH такую строчку: %QTDIR%

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

[править] Решение проблем

Если при компиляции возникают ошибки вроде: undefined reference to `vtable for WebCore::FormDataIODevice'

Для того, чтобы исправить данную проблему, нужно удалить src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp и заново запустить сборку. (mingw32-make).

Данная проблема в основном возникает если вы решили заново пересобрать уже собранную библиотеку из Qt SDK собранную тролями.


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