[英]qmake run command only in debug mode, how?
这是这个问题的延续。 我想跑
win32:LIBS ~= s/-l(.*)/-l\1d/g
仅用于调试版本,因为这个想法是在调试模式下将d
附加到 lib 名称。
我试过
win32:debug:LIBS ~= s/-l(.*)/-l\1d/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 文件中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.