Including .pro Files/bg
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Български 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 има променливи, които могат да ви помогнат да постигнете това и по друг начин (тествано на 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)
…