Сборка Qt Creator для Windows из исходников
Старая редакция статьи, подходит для сборки Qt Creator
версий 2.0.0 2.4.1. Новую редакцию статьи можно найти здесь.
Основным побудительным мотивом произвести сборку Qt Creator
из исходников является получение удовольствия от самого процесса.
В качестве побочного эффекта Вы исправите проблему с дизайнером
форм, интегрированным в Qt Creator, он станет понимать
плагин библиотеки Qwt, и на панели инструментов дизайнера появится
группа виджетов, относящихся к этой библиотеке. Понятно, что данная
проблема существует только в Windows.
Для осуществления сборки Qt Creator из исходников необходимо иметь
компилятор MinGW. Он у Вас имеется, если Вы устанавливали Qt Creator
из инсталяционных файлов, руководствуясь последовательностью действий,
описанной в посвященной этому статье.
Подразумевается, что он установлен у Вас в паку C:\Qt\qtcreator-2.2.0
(версия на момент написания статьи), кроме того, имея намерение
в дальнейшем пересобрать Qt Creator, Вы выполнили рекомендации
пункта 3 руководства и скопировали содержимое папок с компилятором
MinGW и отладчиком GDB, в папки C:\Qt\mingw
и C:\Qt\pythongdb соответственно, а при
установке библиотеки Qt указали путь к копии компилятора C:\Qt\mingw.
Если Вы этого не сделали, большой проблемы не возникнет, но в этом
случае после выполнения сборки Qt Creator нельзя будет удалять
установленный Qt Creator.
Рассмотрим подробно порядок действий.
Сборка
1. Скачиваем на сайте
разработчика архив с исходниками Qt Creator
qt-creator-2.2.0-src.zip 29
MB
(версия, доступная на момент написания статьи, поэтому
далее инструкции по сборке именно этой версии).
2. Распаковываем архив, например, в папку D:\TEMP.
3. Проект будем собирать в папке C:\Qt\qt-creator-2.2.0.
Перед началом сборки создаем эту папку.
4. Запускаем терминал Qt 4.7.3 Command Prompt
(см. группу ярлыков библиотеки Qt в меню Пуск) и выполняем команды
C:
cd Qt\qt-creator-2.2.0
qmake D:\TEMP\qt-creator-2.2.0-src\qtcreator.pro -r -spec win32-g++
CONFIG+=release
5. После выполнения qmake
размер папки увеличивается до 60 MB, и вней появляется Makefile.
Далее выполняем непосредственно команду сборки
mingw32-make -w
Сборка проекта занимает от 40 минут и более в зависимости
от производительности компьютера.
Очистка
По окончании сборки размер папки C:\Qt\qt-creator-2.2.0
превышает гигабайт, проект требует очистки. Можно было бы выполнить
специально для этого предназначенную команду очистки mingw32-make clean -w,
но она уберет из проекта и те вещи, которые убирать вовсе не следует,
после нее собранный проект даже не запустится. Поэтому предлагается
выполнить очистку проекта вручную, делаем следущее:
1. Удаляем папку C:\Qt\qt-creator-2.2.0\src.
Ого! Папка C:\Qt\qt-creator-2.2.0
уменьшилась почти до 60 MB! Можно было бы этим ограничиться, но
можно убрать еще немного.
2. Удаляем папки
C:\Qt\qt-creator-2.2.0\share\qtcreator\debug
C:\Qt\qt-creator-2.2.0\share\qtcreator\release
C:\Qt\qt-creator-2.2.0\share\qtcreator\translations\debug
C:\Qt\qt-creator-2.2.0\share\qtcreator\translations\release
и файлы
C:\Qt\qt-creator-2.2.0\Makefile
C:\Qt\qt-creator-2.2.0\share\Makefile
C:\Qt\qt-creator-2.2.0\share\qtcreator\Makefile.static
C:\Qt\qt-creator-2.2.0\share\qtcreator\Makefile.static.Debug
C:\Qt\qt-creator-2.2.0\share\qtcreator\Makefile.static.Release
C:\Qt\qt-creator-2.2.0\share\qtcreator\translations\Makefile
C:\Qt\qt-creator-2.2.0\share\qtcreator\translations\Makefile.Debug
C:\Qt\qt-creator-2.2.0\share\qtcreator\translations\Makefile.Release
Все, больше пока лучше ничего не трогать. Обратите
внимание, что в папке C:\Qt\qt-creator-2.2.0\share\qtcreator\translations
остались только qm-файлы, необходимые для перевода Qt Creator.
Русификация
Теперь можно запустить собранный Qt Creator (файл C:\Qt\qt-creator-2.2.0\bin\qtcreator.exe)
и полюбоваться англоязычным интерфейсом. Выбираем пункт главного
меню Tools > Options... и в открывшемся
окне на вкладке Enveronment > General
просматриваем список доступных языков видим только
<System Language> и
English
Таким образом, русский язык не доступен, хотя соответствующий
файл, необходимый для перевода, был создан.
Заглянем в папку C:\Qt\qt-creator-2.2.0\share\qtcreator\translations,
видим в ней
qtcreator_de.qm
qtcreator_fr.qm
qtcreator_ja.qm
qtcreator_pl.qm
qtcreator_ru.qm
qtcreator_zh_CN.qm
это файлы перевода Qt Creator соответственно
на немецкий, французский, японский, польский, русский и китайский
языки. При старте Qt Creator пытается загрузить не только свои
переводы, но и файлы перевода библиотеки Qt. Если чего-либо не хватает,
то загрузка языков не производится.
Чтобы исправить проблему, делаем следующее
1. Заходим в папку C:\Qt\qt-4.7.3\translations
библиотеки Qt (у Вас возможно другая) и копируем в папку C:\Qt\qt-creator-2.2.0\share\qtcreator\translations
необходимые файлы
assistant_de.ts
assistant_fr.ts
assistant_ja.ts
assistant_pl.ts
assistant_ru.ts
assistant_zh_CN.ts
designer_de.ts
designer_fr.ts
designer_ja.ts
designer_pl.ts
designer_ru.ts
designer_zh_CN.ts
linguist_de.ts
linguist_fr.ts
linguist_ja.ts
linguist_pl.ts
linguist_ru.ts
linguist_zh_CN.ts
qt_de.ts
qt_fr.ts
qt_ja.ts
qt_pl.ts
qt_ru.ts
qt_zh_CN.ts
qt_help_de.ts
qt_help_fr.ts
qt_help_ja.ts
qt_help_pl.ts
qt_help_ru.ts
qt_help_zh_CN.ts
2. Запускаем Qt 4.7.3 Command
Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) и вводим
команды
C:
cd Qt\qt-creator-2.2.0\share\qtcreator\translations
lrelease *.ts
3. Удаляем из папки C:\Qt\qt-creator-2.2.0\share\qtcreator\translations
скопированные в нее ts-файлы, оставляя в ней только qm-файлы.
После перезапуска собранного Qt Creator можно
любоваться уже русифицированным интерфейсом. Если же выбрать пункт
главного меню Инструменты > Параметры...,
то на вкладке Среда > Основные среди
доступных языков можно увидеть
<Системный>
English
German
French
Japanese
Polish
Russian
Chinese
Замечание. От японского и китайского языка не очень
много толку скорее всего при их выборе у Вас отображаются
одни кубики, поэтому файлы перевода *_ja.qm
и *_zh_CN.qm можно было и не устанавливать.
Можно и вовсе ограничиться одним только русским (ну и английским,
разумеется, он то никуда не денется) и оставить только файлы перевода
*_ru.qm, а остальные удалить.
Настройка
1. Перезапускаем собранный Qt Creator,
выбираем пункт главного меню Инструменты > Параметры...
В открывшемся окне на вкладке Проекты > Основное
указываем каталог проектов, например, C:\Qt\qt-proj
(этот каталог надо заблаговременно создать).
2. Далее выбираем вкладку Qt4
> Профили Qt, на ней выделяем автоопределенный профиль
Qt в PATH и убеждаемся в наличии помощников
отладчика. Если в нижней части окна видим надпись "Помощники
отсутствуют", то раскрываем панель, нажав Подробнее,
кликаем Собрать все и дожидаемся окончания
сборки.
3. На вкладке Инструментарии
настраиваются связки инструментов. Открыв вкладку, видим, что в
автоопределенной связке MinGW (x86 32bit)
правильно определился путь к компилятору, но отсутствует отладчик.
Исправлять проблему можно двумя способами (в том числе и обоими
совместно).
а) Первый способ. Можно создать дополнительную
связку инструментов. Для этого нажимаем Добавить
> MinGW, новая связка появляется в группе Особые.
Выделяем новую связку и настраиваем ее: указываем путь к компилятору
C:\Qt\mingw\bin\mingw32-g++.exe (можно и
g++.exe) и отладчик C:\Qt\pythongdb\gdb-i686-pc-mingw32.exe,
ключ ABI выставится автоматически.
б) Второй способ. В установленном Qt Creator
есть папка C:\Qt\qtcreator-2.2.0\share\qtcreator\Nokia,
в которой лежит файл toolChains.xml, в нем
хранится информация освязках инструментов. Такой папки (и файла)
нет в собранном Qt Creator. Поступаем просто копируем
папку Nokia вместе с ее содержимым из установленного
Qt Creator в собранный, соблюдая относительный путь, и редактируем
копию файла toolChains.xml, а именно
путь к компилятору C:\Qt\qtcreator-2.2.0\mingw
по всему тексту заменяем на C:\Qt\mingw,
а путь к отладчику C:\Qt\qtcreator-2.2.0\pythongdb
тоже по всему тексту заменяем на C:\Qt\pythongdb
В файле используется формат новой строки в стиле
Unix (код 0Ah), поэтому редактирование желательно
производить в текстовом редакторе, понимающем такой формат. AkelPad
вполне сгодится. Теперь после перезапуска Qt Creator на вкладке
Инструментарии будут присутствовать две
автоопределенные связки инструментов
MinGW runtime (Provided with Qt Creator)
и
MinGW (x86 32bit),
в которых имеется все, что нужно для работы, поэтому
создавать дополнительную связку инструментов не требуется.
На этом все этапы сборки, очистки, русификации, настройки
завершены, можно удалять установленный Qt Creator и пользоваться
собранным.
|