我有一个代码库,其中有一些共享库。例如LIB1执行某种处理,APP1需要(依赖)它。
qmake *.pro文件的设置如下。有一个根*.pro,它是TEMPLATE=subdirs
,列出了APP1和LIB1作为其子目录。
LIB1.pro:
TARGET = LIB1
TEMPLATE = lib
QT += core
QT += xml
DESTDIR = path/to/libs/directory
SOURCES += \
File1.cpp \
FileN.cpp
HEADERS += \
File1.h \
FileN.h
APP1.pro:
#------ dependencies ------#
LIBS += -Lpath/to/libs/directory
# LIB1
INCLUDEPATH += path/to/libs/directory/LIB1lib
DEPENDPATH += path/to/libs/directory/LIB1lib
LIBS += -lLIB1
HEADERS = \
FileNplus1.h \
FileM.h
SOURCES = \
FileNplus1.cpp \
FileM.cpp
问题在于当您编译根 *.pro 文件时,LIB1 将会被编译,但是 APP1 编译失败并出现以下错误
QDomElement: No such file or directory
,因为 APP1.pro 没有包含 QT += xml
。
我使用的方法是添加以下行到 APP1.pro 文件里,但这只是个变通办法,我希望找到更好的解决办法:# add this to APP1.pro... let's it compile again
QT += xml
有没有办法设置您的qmake *.pro文件,使得
APP1.pro
依赖于LIB1,而无需修改APP1.pro
来添加QT += xml
?(这个问题的原因是假设您有其他依赖于其他内容的库...我希望Qt / Qmake处理依赖关系,例如
Qt += xml
依赖项。)