我有一个代码库,其中有一些共享库。例如,LIB1会执行APP1需要的某些处理(取决于)。你如何告诉Qt应用程序依赖于Qt库?
qmake * .pro文件设置如下。有一个root * .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
依赖依赖的服务。)
有趣!我会检查出来的。 –