среда, 2 декабря 2009 г.

Сборка Qt из исходников

UPD по теме:

Для успешной установки нужно поставить:
  • Perl
  • библиотеку libxext-dev (понятно, только линукс)
  • git

Windows:


Для сборки Qt из исходников нужен Perl. Я установил ActiveState Perl. После установки надо перегрузить машину.

Установка git описана здесь.

После установке Perl и git, запускаем git bash и переходим в директорию, где будет создана директория qt. Затем клонируем исходники:
$ cd /Projects
$ git clone git://gitorious.org/qt/qt.git

Добавляем путь к bin в переменную среды PATH: d:\Projects\Qt\bin

Открываем VS2008 command prompt, переходим в директорию с исходниками qt и конфигурируем:
cd d:\projects\qt
configure -nomake examples -nomake demos -qt-sql-sqlite -no-qt3support -no-opengl -no-dbus -no-phonon -no-phonon-backend

После того, как configure закончился, делаем nmake.

Занял он на моей машине два часа, как и раньше. Так что компиляция примеров занимает 2 часа.


Ubuntu:


Достаем исходники из репозитория:
$ cd /home/qtcgeek/Projects
$ git clone git://gitorious.org/qt/qt.gi

Добавляем путь к bin в переменную PATH в .profile:
PATH=/home/qtcgeek/Projects/qt/bin:$PATH
export PATH

Под Ubuntu perl уже должен быть установлен. А вот библиотеки libxext-dev может и не быть. Ставим:
$ sudo apt-get install libxext-dev

Машину надо перегрузить, иначе линкер вылетит в segment fault. А может, и не вылетит.

Затем переходим в директорию с исходниками qt и конфигурируем:
$ cd /home/qtcgeek/Projects/qt
$ configure -nomake examples -nomake demos -qt-sql-sqlite -no-qt3support -no-opengl -no-phonon -no-phonon-backend

После того, как configure закончился, делаем make:
$ make

На лаптопе под убунту он занял 3.5 часа. Сравнить быстродействие Ubuntu/MinGW с Windows/MSVC не могу, каждая система живет на своей собственной машине. Если кто сравнивал, поделитесь инфой плиз.

Устанавливаем:
$ sudo make install

Если надо переконфигурировать, делаем make confclean, configure, затем make (а под Windows- nmake вместо make).

Комментариев нет:

Отправить комментарий