簡體   English   中英

使用qmake / Qt Creator鏈接調試/發布庫

[英]Linking with a debug/release lib with qmake/Qt Creator

我正在使用Qt Creator並擁有一個依賴於C ++靜態庫項目的Qt GUI項目。 我想將GUI應用程序的發布版本與.lib的發布版本以及帶有調試.lib的GUI應用程序的調試版本鏈接起來。 我已經找到了如何通過在我的.pro文件中包含如下所示的行來向項目中添加其他庫:

LIBS += -L./libfolder -lmylib.lib

但我無法看到如何使用不同的-L命令進行發布和調試構建。

qmake是否有支持這樣做?

正常

debug:LIBS += ...
else:LIBS += ...

當用戶天真地使用CONFIG += debugCONFIG += release來在調試和發布版本之間切換時,解決方案會中斷(他們會這樣做;沒有人記得在CONFIG += debug :)之前說CONFIG -= release release_and_debug

這是debug范圍的規范方法:

CONFIG( debug, debug|release ) {
    # debug
    QMAKE_LIBDIR += "path/to/debug/lib"
} else {
    # release
    QMAKE_LIBDIR += "path/to/release/lib"
}

參看 qmake文檔

編輯2013-11-17 :不要在LIBS使用-Lfoo 規范的方法是將路徑(不帶-L )添加到QMAKE_LIBDIR

在您的項目文件中,您可以執行以下操作

debug {
    LIBS += -L./libfolder -lmydebuglib.lib
}

release {
    LIBS += -L./libfolder -lmyreleaselib.lib
}

如果已將DEBUG添加到CONFIG qmake變量,則使用調試大括號內的位,如果將RELEASE添加到CONFIG變量,則類似於釋放括號內的內容。

您也可以使用“!debug”而不是“release”(即當調試不在配置中時)

您可以在此處找到有關qmake的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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