Установка Qt + MinGW32
Материал из Wiki.crossplatform.ru
Lit-uriy (Обсуждение | вклад) (работа над черновиком) |
ViGOur (Обсуждение | вклад) |
||
(4 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
- | |||
- | |||
- | |||
= Предисловие = | = Предисловие = | ||
Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br /> | Предполагается, что вы прочитали [[Введение в Qt|Введение]]<br /> | ||
+ | <!-- | ||
Моя концепция работы с библиотекой Qt выглядит следующим образом:<br /> | Моя концепция работы с библиотекой Qt выглядит следующим образом:<br /> | ||
Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов. | Не редко возникает необходимость работать с несколькими версиями библиотеки, а также по-разному собранными либо как динамические библиотеки, либо как статические. Такая возможность достигается благодаря переменным окружения. Если их намертво установить в системе, то мы сможем работать только с одной версией библиотеки. Я использую bat-файлы, в которых переменные окружения настраиваются только на время работы этого bat-файла. Так как я не люблю работать в консоли, то запускаю этими bat-файлами свой любимый файловый менеджер - Total Comander, получается, что он запущен в определённом окружении. И из него уже открываю исходники или файлы проектов. | ||
- | + | --> | |
- | + | Вам понадобится скачать некоторые компоненты из сети Интернет.<br /> | |
'''Основные компоненты:''' | '''Основные компоненты:''' | ||
* Компилятор MinGW32 (скачать: [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197 сетевой автоустановщик] | скачать: [http://crossplatform.ru/uploads/mingw3.4.5.zip архив готовой сборки]) | * Компилятор MinGW32 (скачать: [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197 сетевой автоустановщик] | скачать: [http://crossplatform.ru/uploads/mingw3.4.5.zip архив готовой сборки]) | ||
Строка 23: | Строка 21: | ||
Запустите установщик и следуйте инструкциям.<br /> | Запустите установщик и следуйте инструкциям.<br /> | ||
'''''Замечание''': Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает из интернета ~{{Nobr|14 МиБ}}).'' | '''''Замечание''': Из компонентов можно не устанавливать Object C и Fortran-77, либо установить всё(скачает из интернета ~{{Nobr|14 МиБ}}).'' | ||
+ | |||
+ | Если в вашей системе это единственный компилятор, то путь к катлогу '''<MINGWDIR>/bin''' можно указать в переменной окружения '''PATH''', в противном случае может возникнуть конфликт между программами '''make''' и др. от разных компиляторов. | ||
== Установка библиотеки Qt == | == Установка библиотеки Qt == | ||
- | Вам понадобится от 1,5 до 3 ГиБ на диске (в зависимости от версии). Также для работы программы установки необходим примерно такой же объем во временном каталоге (определяемом переменной окружения TEMP/TMP). Запустите автоустановщик, и следуйте его инструкциям. Каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы, например '''disk:\QT\QTVER''', где '''QTVER''' - версия библиотек (например, 4.3.4).<br /> | + | Вам понадобится от 1,5 до 3 ГиБ на диске (в зависимости от версии). Также для работы программы установки необходим примерно такой же объем во временном каталоге (определяемом переменной окружения TEMP/TMP). Запустите автоустановщик, и следуйте его инструкциям. Каталог для установки выбирайте так, чтобы путь не содержал пробелов и кирилицы, например '''disk:\QT\QTVER''', где '''QTVER''' - версия библиотек (например, 4.3.4). этот каталог мы будем называть '''<QTDIR>'''<br /> |
Далее описаны отличия. | Далее описаны отличия. | ||
- | |||
=== Qt 4.4.x === | === Qt 4.4.x === | ||
- | Программа автоустановки для Qt версии 4.4.x содержит и | + | Программа автоустановки для Qt версии 4.4.x содержит и релизные (*.dll) и отладочные (*d.dll) версии динамических библиотек. Однако модуль [[Phonon]] не собран. [[Сборка Phonon]]'а тема для отдельной статьи. Если вам не требуется этот модуль, то можно считать, что библиотека Qt готова к работе. |
- | + | ||
=== Qt 4.3.x === | === Qt 4.3.x === | ||
- | Особенность установщика данной версии является то, что устанавливаются только релизные версии. Для того, чтобы можно было осуществлять отладку нужно сконфигурировать, а затем собрать отладочные версии библиотеки Qt. Чтобы провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. Необходимо запустить командную строку Qt, находящуюся в меню кнопки "Пуск", например:<br /> | + | Особенность установщика данной версии является то, что устанавливаются только релизные версии библиотек (*.dll). Для того, чтобы можно было осуществлять отладку нужно сконфигурировать, а затем собрать отладочные версии библиотеки Qt. Чтобы провести конфигурацию, т.е. создать файлы проекта *.pro и мэйкфайлы для конкретного компилятора. Необходимо запустить командную строку Qt, находящуюся в меню кнопки "Пуск", например:<br /> |
{{Nobr|Кнопка "Пуск" -> "Программы" -> Qt 4.3.x -> Qt 4.3.4 (Build Debug Libraries)}} | {{Nobr|Кнопка "Пуск" -> "Программы" -> Qt 4.3.x -> Qt 4.3.4 (Build Debug Libraries)}} | ||
<!--Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге '''<QTDIR>''' создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, '''qt432.bat''', вот его текст: | <!--Как я говорил в предисловии, пользоваться будем bat-файлом. В каталоге '''<QTDIR>''' создайте bat-файл для запуска командной строки в нужном нам окружении. Назовите его по версии Qt, например, '''qt432.bat''', вот его текст: | ||
Строка 73: | Строка 71: | ||
= Последние штрихи = | = Последние штрихи = | ||
- | Для того, чтобы можно было компилировать программы написанные на Qt, вам необходимо, чтобы инструменты Qt такие как [[qmake]] были известны ОС | + | |
- | + | Для того, чтобы можно было компилировать программы написанные на Qt, вам необходимо, чтобы инструменты Qt такие как [[qmake]] были известны ОС. Т.е. переменная окружения '''PATH''' должна содержать путь к каталогу <code><QTDIR>/bin</code>. Для этого вы можете всякий раз запускать командную строку Qt ({{Nobr|Кнопка "Пуск" -> "Программы" -> Qt 4.x.x -> Qt 4.x.x Command Prompt}}). Либо, если вы работаете только с одной версией Qt, создать две переменные окружения: | |
+ | * QTDIR='''<QTDIR>''' | ||
+ | * QMAKESPEC=win32-g++ | ||
+ | и добавить в переменную PATH такую строчку: <code>%QTDIR%</code> | ||
+ | |||
+ | Установим перевод как описано в [http://www.forum.crossplatform.ru/index.php?showtopic=688 форуме] | ||
+ | |||
+ | = Решение проблем = | ||
+ | Если при компиляции возникают ошибки вроде: | ||
+ | ''undefined reference to `vtable for WebCore::FormDataIODevice''' | ||
+ | |||
+ | Для того, чтобы исправить данную проблему, нужно удалить | ||
+ | src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp | ||
+ | и заново запустить сборку. (mingw32-make). | ||
+ | |||
+ | Данная проблема в основном возникает если вы решили заново пересобрать уже собранную библиотеку из Qt SDK собранную тролями. | ||
+ | |||
= См. также = | = См. также = | ||
* [[Введение в Qt]] | * [[Введение в Qt]] | ||
- | * [[Qt:4.3. | + | * [[Qt:Документация 4.3.2|Перевод документации Qt 4.3.2]] |
[[Категория:Qt FAQ]] | [[Категория:Qt FAQ]] |
Текущая версия на 10:29, 22 августа 2010
Содержание |
[править] Предисловие
Предполагается, что вы прочитали Введение
Вам понадобится скачать некоторые компоненты из сети Интернет.
Основные компоненты:
- Компилятор MinGW32 (скачать: сетевой автоустановщик | скачать: архив готовой сборки)
- Автоустановщик библиотеки Qt (скачать: версию 4.3.5 или версию 4.4.3 )
Дополнительные компоненты:
- Перевод документации Qt (скачать: Архив перевода (для Qt 4.3.x) )
- Перевод сообщений Qt и инструментальных средств (скачать: Перевод библиотеки Qt и инструментов Qt (для Qt 4.3.x) )
[править] Установка
[править] Установка компилятора
Вам понадобится приблизительно 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 собранную тролями.