Building Qt 5 from Git/bg
[toc align_right="yes" depth="2"]
Инсталиране на Qt 5 от Git
Въведение
Този статия ще се опита да ви даде някои насоки как да свалите модулното Qt5 от git и да го компилирате. Чувстрайте се свободни да променяте тази статия, ако нещо се промени по време на разработката. Тези инструкции са за Линукс, така че може да се наложи да ги донагласите за другите палтформи.
Сваляне на сорс кода
Първо свалете последната версия на Qt5 гит хранилището:
git clone git://gitorious.org/qt/qt5.git qt5
cd qt5
Следвайки README файла, ние инициализираме хранилището. Това сваля различните подмодули на Qt5:
./init-repository
./qtrepotools/bin/qt5_tool -p
Преди да продължим нататък, трябва да се уверим, че подмодулите са конфигурирани правилно:
git submodule foreach 'git fetch —all'
git submodule foreach 'git checkout -b staging-master staging/master || echo Ignoring module $name'
# Специални случаи за qtbase и qtwebkit
cd qtbase
git checkout master && git reset —hard origin/master
cd ../qtwebkit
git checkout -b qt-modularization-base origin/qt-modularization-base
cd ../
Конфигуриране и компилиране
Настройте вашият път да сочи към Qt5 инструментите, а не към старите на Qt4, които може да съществуват на вашата система:
export PATH=$PWD/qtbase/bin:$PATH
Подготовка за компилиране. Най-добре е да изключите тестовете, примерите и демонстрациите за сега:
./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle
Забележете, че също така спряхме поддържката на gtk-style. Това се прави, защото на някои системи ( или поне на SUSE и Gentoo) `pkg-config —cflags gtk+–2.0` връща пътища, които включват Qt4.x директории с хедър файлове.
Аргументът -nokia-developer спира проверката за лицензи и добавя опцията -developer-build, която експортира повече символи от традиционната Qt компилация, с цел повече класове и функции да могат да се тестват.
Пуснете make както обикновено (нагласете опцията -j да съответства на броя адра на процесора, който имате):
make -j3
Или можете да компилирате само отделен модул и модулите, от които той зависи. Примерно:
make module-qtdeclarative
Почистване
За да получите наистина чисто дърво използвайте:
git submodule foreach 'git clean -dffx'
тъй като make confclean вече не работи от най-горното ниво на хранилището.
Получаване на ъпдейти
За да получите ъпдейти за подмодулите, просто изпълнете:
./qtrepotools/bin/qt5_tool -p