簡體   English   中英

你怎么告訴Qt應用依賴於Qt lib?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM