Установка 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 собранную тролями.


См. также