qmake-run命令仅在调试模式下运行
qmake run command only in debug mode, how?
这是这个问题的一种延续。我想运行
win32:LIBS ~= s/-l(.*)/-l1d/g
仅适用于调试构建,因为其思想是在调试模式下将d
附加到库名称。
我试过
win32:debug:LIBS ~= s/-l(.*)/-l1d/g
但它也在发布模式下执行。
您需要使用CONFIG(debug, debug|release)
,而不是简单测试debug
的存在。CONFIG
变量是特殊的,因为它可以有多个debug
和release
条目,但只有最后一个计数。
因此,即使在发布模式下,CONFIG也可能看起来像something, debug, something, release
:release
"获胜",因为它是最后一个,但范围测试并不知道这一点。
这是qmake的一个怪癖。如果你知道先去哪里看,它甚至是有文档的:/
由于值的顺序在CONFIG变量中很重要(也就是说,最后一个集合将被视为互斥值的活动配置),可以使用第二个参数来指定要考虑的值集合。例如:
我通常就是这样做的:
CONFIG(debug, debug|release) {
unix: TARGET = $$join(TARGET,,,d)
win32: TARGET = $$join(TARGET,,,d)
}
平台之所以存在,是因为最初我想对不同的平台使用不同的约定,并在这里举一个的例子
您可以在为libs/apps 设置目标名称后立即添加此规则
普通布局在.pro文件中有这个规则,用于生成库和类似的东西:
CONFIG(debug, debug|release) {
unix: LIBS += -L../libs -L../../libs -lyourlibnamed
win32: LIBS += -L../libs -L../../libs -lyourlibnamed
} else {
unix: LIBS += -L../libs -L../../libs -lyourlibname
win32: LIBS += -L../libs -L../../libs -lyourlibname
}
在.pri文件中
相关文章:
- 可视化C++:发布模式的运行时库作为'Multi-threaded Debug DLL'
- 如何检测窗口当前是否正在运行模式对话框?
- 在调试模式下,所有程序都运行良好,但在发布模式下,我在cudaMalloc操作中出错
- 多线程程序卡在优化模式下,但在 -O0 中正常运行
- 如何在调试模式下通过终端运行可执行的 c++?
- 我在发布模式下运行时收到"Access violation reading location"错误 - C++
- C++单例模式代码无法运行,不知道为什么?
- 在CLION中调试模式和运行模式之间的怪异结果
- 如何创建一个新过程,而没有从管理模式运行的MFC应用程序中的管理特权
- 如何在单线模式下强制ROS运行
- 一般来说,使用Qt Creator,是什么导致程序在调试模式下编译时正确运行,但在发布模式下崩溃
- 在Visual Studio C 调试模式中捕获异常的最佳方法仅在从IDE运行时才会发生
- 64位VC 程序似乎在32位模式下运行
- 在非调试模式下运行代码时出现问题
- C++Win32 在低优先级模式下运行应用程序/线程
- GCC 在调试模式下崩溃,在发布模式下运行良好
- 可以从命令行运行C++代码,但不能从visual studio中的调试模式运行
- 在Visual Studio 2015中以C++98模式运行项目
- 在windows 7中用非管理模式运行的应用程序编写日志文件
- 设计模式- c++运行时成员参数的实例化