我使用的是Qt Creator,並且有一個依賴於C++靜態庫項目的Qt GUI項目。我想將GUI應用程序的發行版與.lib的發行版以及GUI應用程序的調試版與debug .lib鏈接起來。我已經發現瞭如何通過包括像我.pro文件下面一行添加額外的庫添加到項目:用qmake/Qt Creator與調試/發佈庫鏈接
LIBS += -L./libfolder -lmylib.lib
但我不能看我怎麼可以使用不同的-L
命令發佈和調試建立。
qmake有支持嗎?
我使用的是Qt Creator,並且有一個依賴於C++靜態庫項目的Qt GUI項目。我想將GUI應用程序的發行版與.lib的發行版以及GUI應用程序的調試版與debug .lib鏈接起來。我已經發現瞭如何通過包括像我.pro文件下面一行添加額外的庫添加到項目:用qmake/Qt Creator與調試/發佈庫鏈接
LIBS += -L./libfolder -lmylib.lib
但我不能看我怎麼可以使用不同的-L
命令發佈和調試建立。
qmake有支持嗎?
在項目文件中,你可以做這樣的事情
debug {
LIBS += -L./libfolder -lmydebuglib.lib
}
release {
LIBS += -L./libfolder -lmyreleaselib.lib
}
如果DEBUG已經被添加到配置QMAKE變量調試括號內的位時,釋放括號內類似的東西,包括如果RELEASE已被添加到CONFIG變量中。
您還可以使用!「調試」,而不是「釋放」(即當調試不是在config)
你可以找到QMAKE here更多信息。
正常
debug:LIBS += ...
else:LIBS += ...
解決方案休息時,用戶簡單地使用CONFIG += debug
或CONFIG += release
調試和發佈版本之間切換(和他們做,沒有人記得CONFIG -= release release_and_debug
前CONFIG += debug
:)說。
這是規範的方式對範圍debug
:
CONFIG(debug, debug|release) {
# debug
QMAKE_LIBDIR += "path/to/debug/lib"
} else {
# release
QMAKE_LIBDIR += "path/to/release/lib"
}
編輯2013-11-17:請勿在LIBS
中使用-Lfoo
。規範的方法是將路徑(不包括-L
)添加到QMAKE_LIBDIR
。
請注意,如果您將大括號放在下一行中,它會窒息... :-( – nus 2011-03-12 12:40:05
對於Windows也是如此?如果我在Lib文件的路徑中有空間,那麼該怎麼辦? – 2013-05-22 12:53:04