[英]How do a specify a library file dependency for qmake in Qt?
有一個包含以下內容的SomeLib.pro文件:
CONFIG += debug
TEMPLATE = lib
TARGET = SomeLib
..
然后在依賴SomeApp.pro中:
..
debug:LIBS += -lSomeLib_debug
..
如果我在qmake中觸及SomeLib,如何強制構建SomeApp?
這很難看,因為你需要提供確切的庫文件名,但這應該有效:
TARGETDEPS + = libfoo.a
如果單擊應包含庫的項目的上下文菜單中的“添加庫...”,QT Creator將執行此工作。
這些變量會自動為您配置:
另見http://doc.qt.digia.com/qtcreator-2.1/creator-project-qmake-libraries.html
回答Zahir的評論,或許值得指出的是,如果使用DLL,在qmake文件中聲明這種依賴是不必要的,但如果你的exe依賴於靜態庫則必不可少 。
我用了:
POST_TARGETDEPS += c:/open-en/lib/win32mingw/libosal_based.a
它很有用,但是很笨拙,因為必須指定庫的完整路徑,這對於每個操作系統/編譯器都是不同的。
qmake
不提供此功能。
相反,將您的app和lib放在子目錄中,然后在其父目錄中創建一個類似於下面的Makefile:
all: FRC
cd Somelib && qmake && $(MAKE)
cd SomeApp && qmake && $(MAKE)
FRC:
然后始終從此目錄運行make
。
肯定是不可能的,你在談論使用qmake進行反向依賴查找? 所以你想要的是在你對庫A進行更改之后構建應用程序B(以及依賴於庫A的任何其他應用程序)嗎?
如果更新vbrun300.dll,這有點像重新編譯所有可視化基本應用程序?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.