我使用的是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