[英]How do you tell a Qt app to depend on a Qt lib?
我有一個代碼庫,其中有一些共享庫。 例如,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
問題是,當您編譯root * .pro文件時,LIB1將編譯,但APP1無法使用錯誤QDomElement: No such file or directory
進行編譯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
依賴。)
qmake允許您創建自己的配置功能 。 (最后一段)
因此,您可以創建自己的功能並將lib1鏈接代碼移動到它。 您可以在此處添加QT+=xml
。 在app.pro
你只需編寫CONFIG += lib1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.