Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Building Qt 5 from Git/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:HowTo]]<br />[[Category:Developing_with_Qt::Qt 5]]
[[Category:HowTo]]
[[Category:Developing_with_Qt::Qt 5]]


'''Български''' [[Building Qt 5 from Git|English]] [[Building Qt 5 from Git SimplifiedChinese|简体中文]]
'''Български''' [[Building Qt 5 from Git|English]] [[Building Qt 5 from Git SimplifiedChinese|简体中文]]
Line 15: Line 16:
Първо свалете последната версия на Qt5 гит хранилището:
Първо свалете последната версия на Qt5 гит хранилището:


<code><br />git clone git://gitorious.org/qt/qt5.git qt5<br />cd qt5<br /></code>
<code>
git clone git://gitorious.org/qt/qt5.git qt5
cd qt5
</code>


Следвайки README файла, ние инициализираме хранилището. Това сваля различните подмодули на Qt5:
Следвайки README файла, ние инициализираме хранилището. Това сваля различните подмодули на Qt5:


<code><br />./init-repository<br />./qtrepotools/bin/qt5_tool -p<br /></code>
<code>
./init-repository
./qtrepotools/bin/qt5_tool -p
</code>


Преди да продължим нататък, трябва да се уверим, че подмодулите са конфигурирани правилно:
Преди да продължим нататък, трябва да се уверим, че подмодулите са конфигурирани правилно:


<code><br />git submodule foreach 'git fetch —all'<br />git submodule foreach 'git checkout -b staging-master staging/master || echo Ignoring module $name'
<code>
git submodule foreach 'git fetch —all'
git submodule foreach 'git checkout -b staging-master staging/master || echo Ignoring module $name'


# Специални случаи за qtbase и qtwebkit<br />cd qtbase<br />git checkout master &amp;&amp; git reset —hard origin/master<br />cd ../qtwebkit<br />git checkout -b qt-modularization-base origin/qt-modularization-base<br />cd ../<br /></code>
# Специални случаи за qtbase и qtwebkit
cd qtbase
git checkout master &amp;&amp; git reset —hard origin/master
cd ../qtwebkit
git checkout -b qt-modularization-base origin/qt-modularization-base
cd ../
</code>


== Конфигуриране и компилиране ==
== Конфигуриране и компилиране ==
Line 31: Line 46:
Настройте вашият път да сочи към Qt5 инструментите, а не към старите на Qt4, които може да съществуват на вашата система:
Настройте вашият път да сочи към Qt5 инструментите, а не към старите на Qt4, които може да съществуват на вашата система:


<code><br />export PATH=$PWD/qtbase/bin:$PATH<br /></code>
<code>
export PATH=$PWD/qtbase/bin:$PATH
</code>


Подготовка за компилиране. Най-добре е да изключите тестовете, примерите и демонстрациите за сега:
Подготовка за компилиране. Най-добре е да изключите тестовете, примерите и демонстрациите за сега:


<code><br />./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle<br /></code>
<code>
./configure -nokia-developer -nomake examples -nomake demos -nomake tests -no-gtkstyle
</code>


Забележете, че също така спряхме поддържката на gtk-style. Това се прави, защото на някои системи ( или поне на SUSE и Gentoo) `pkg-config —cflags gtk+–2.0` връща пътища, които включват Qt4.x директории с хедър файлове.
Забележете, че също така спряхме поддържката на gtk-style. Това се прави, защото на някои системи ( или поне на SUSE и Gentoo) `pkg-config —cflags gtk+–2.0` връща пътища, които включват Qt4.x директории с хедър файлове.
Line 43: Line 62:
Пуснете make както обикновено (нагласете опцията -j да съответства на броя адра на процесора, който имате):
Пуснете make както обикновено (нагласете опцията -j да съответства на броя адра на процесора, който имате):


<code><br />make -j3<br /></code>
<code>
make -j3
</code>


Или можете да компилирате само отделен модул и модулите, от които той зависи. Примерно:
Или можете да компилирате само отделен модул и модулите, от които той зависи. Примерно:


<code><br />make module-qtdeclarative<br /></code>
<code>
make module-qtdeclarative
</code>


== Почистване ==
== Почистване ==
Line 53: Line 76:
За да получите '''наистина''' чисто дърво използвайте:
За да получите '''наистина''' чисто дърво използвайте:


<code><br />git submodule foreach 'git clean -dffx'<br /></code>
<code>
git submodule foreach 'git clean -dffx'
</code>


тъй като ''make confclean'' вече не работи от най-горното ниво на хранилището.
тъй като ''make confclean'' вече не работи от най-горното ниво на хранилището.
Line 61: Line 86:
За да получите ъпдейти за подмодулите, просто изпълнете:
За да получите ъпдейти за подмодулите, просто изпълнете:


<code><br />./qtrepotools/bin/qt5_tool -p<br /></code>
<code>
./qtrepotools/bin/qt5_tool -p
</code>


== Проблеми ==
== Проблеми ==

Revision as of 11:22, 25 February 2015


Български English 简体中文

[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 &amp;&amp; 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

Проблеми