Including .pro Files/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
'''Български''' [[IncludingProFiles|English]] [[IncludingProFiles Malay|Malay]] [[IncludingProFiles Spanish|Spanish]] [[IncludingProFiles_German|German]] [[IncludingProFiles_French|French]]<br />[[Category:Tools]]<br />[[Category:HowTo]]
'''Български''' [[IncludingProFiles|English]] [[IncludingProFiles Malay|Malay]] [[IncludingProFiles Spanish|Spanish]] [[IncludingProFiles_German|German]] [[IncludingProFiles_French|French]]
[[Category:Tools]]
[[Category:HowTo]]


= Включване на .pro файлове в .pro файлове =
= Включване на .pro файлове в .pro файлове =
Line 9: Line 11:
В .pro файлa, имате две важни променливи: INCLUDEPATH и DEPENDPATH. Първата се използва от C+ + компилатора, когато обработва #includе декларациите, а втората се използва от qmake, когато се опитва да определи какво да се компилира и в какъв ред.
В .pro файлa, имате две важни променливи: INCLUDEPATH и DEPENDPATH. Първата се използва от C+ + компилатора, когато обработва #includе декларациите, а втората се използва от qmake, когато се опитва да определи какво да се компилира и в какъв ред.


За да създадете гъвкаво дърво на проекта, което да може да се пренася лесно, трябва да обновявате pri-файловете по подходящ начин. Аз използвам текущата директория. Тя може да бъде взета с командата $$system&amp;amp;#40;pwd&amp;amp;#41; (работи са на Unix/Linux за съжаление).
За да създадете гъвкаво дърво на проекта, което да може да се пренася лесно, трябва да обновявате pri-файловете по подходящ начин. Аз използвам текущата директория. Тя може да бъде взета с командата $$system(pwd) (работи са на Unix/Linux за съжаление).


В &quot;ръководството за променливи на qmake&amp;quot;:http://doc.qt.nokia.com/4.7/qmake-variable-reference.html има променливи, които могат да ви помогнат да постигнете това и по друг начин (тествано на Windows ). Някой от тях са:<br />* &quot;'''PWD'''&quot;:http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#pwd<br />'''''' Тази променлива съдържа пълният път до директорията, в която се намира проектният файл на qmake.<br />* &quot;'''OUT_PWD'''&quot;:http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#out-pwd<br />'''''' Тази променлива съдържа пълният път до директорията, в която qmake поставя генерираните Makefile-ове.<br />* Използването на префикса $$ е обяснено &quot;тук&amp;quot;:http://doc.qt.nokia.com/latest/qmake-advanced-usage.html#variables .
В "ръководството за променливи на qmake":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html има променливи, които могат да ви помогнат да постигнете това и по друг начин (тествано на Windows ). Някой от тях са:
* "'''PWD'''":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#pwd
'''''' Тази променлива съдържа пълният път до директорията, в която се намира проектният файл на qmake.
* "'''OUT_PWD'''":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#out-pwd
'''''' Тази променлива съдържа пълният път до директорията, в която qmake поставя генерираните Makefile-ове.
* Използването на префикса $$ е обяснено "тук":http://doc.qt.nokia.com/latest/qmake-advanced-usage.html#variables .


Когато имате готова настройка за пътища и зависимости, остава просто да ги добавите към SOURCES, HEADERS, RESOURCES и FORMS секциите.
Когато имате готова настройка за пътища и зависимости, остава просто да ги добавите към SOURCES, HEADERS, RESOURCES и FORMS секциите.
Line 17: Line 24:
За да обобщим, ето малък пример:
За да обобщим, ето малък пример:


<code>INCLUDEPATH ''= $$system&amp;amp;#40;pwd&amp;amp;#41;/include<br />DEPENDSPATH''= $$system&amp;amp;#40;pwd&amp;amp;#41;
<code>INCLUDEPATH ''= $$system(pwd)/include
DEPENDSPATH''= $$system(pwd)


SOURCES ''= src/foo.cpp<br />HEADERS''= include/foo.h<br />FORMS ''= forms/foo.ui<br />RESOURCES''= foo.qrc<br /></code>
SOURCES ''= src/foo.cpp
HEADERS''= include/foo.h
FORMS ''= forms/foo.ui
RESOURCES''= foo.qrc
</code>


Накрая в .pro файла просто добавете .pri чрез ''include'':
Накрая в .pro файла просто добавете .pri чрез ''include'':


<code>…<br />include(support/foo/foo.pri)<br /><br /></code>
<code>…
include(support/foo/foo.pri)
</code>


== Уговорки ==
== Уговорки ==

Revision as of 13:21, 25 February 2015

Български English Malay Spanish German French

Включване на .pro файлове в .pro файлове

Понякога проектните файлове на QMake трябва да бъдат включвани един в друг. QMake е страхотен инструмент, но има някои тънки моменти, за които трябва да внимавате.

Първо, конвенцията, .pro файловете, предназначени за включване в други файлове, обикновено имат разширение .pri. Това се прави само за нагледност и не е задължително. Това също така означава, че qmake ги използва директно, а търси подходящия .pro файл.

В .pro файлa, имате две важни променливи: INCLUDEPATH и DEPENDPATH. Първата се използва от C+ + компилатора, когато обработва #includе декларациите, а втората се използва от qmake, когато се опитва да определи какво да се компилира и в какъв ред.

За да създадете гъвкаво дърво на проекта, което да може да се пренася лесно, трябва да обновявате pri-файловете по подходящ начин. Аз използвам текущата директория. Тя може да бъде взета с командата $$system(pwd) (работи са на Unix/Linux за съжаление).

В "ръководството за променливи на qmake":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html има променливи, които могат да ви помогнат да постигнете това и по друг начин (тествано на Windows ). Някой от тях са:

' Тази променлива съдържа пълният път до директорията, в която се намира проектният файл на qmake.

' Тази променлива съдържа пълният път до директорията, в която qmake поставя генерираните Makefile-ове.

Когато имате готова настройка за пътища и зависимости, остава просто да ги добавите към SOURCES, HEADERS, RESOURCES и FORMS секциите.

За да обобщим, ето малък пример:

INCLUDEPATH ''= $$system(pwd)/include
DEPENDSPATH''= $$system(pwd)

SOURCES ''= src/foo.cpp
HEADERS''= include/foo.h
FORMS ''= forms/foo.ui
RESOURCES''= foo.qrc

Накрая в .pro файла просто добавете .pri чрез include:


include(support/foo/foo.pri)

Уговорки