2

我想根据 Debug 或 Release 构建配置更改一些 DEFINES 和 LIBS 路径,但我的 CONFIG 变量同时包含 release 和 debug 变量。

pro文件中的简单测试:

CONFIG(debug, debug|release) {
    message(DEBUG build)
}

CONFIG(release, debug|release) {
    message(RELEASE build)
}

该测试输出:

Project MESSAGE: DEBUG build
Project MESSAGE: RELEASE build

我应该如何设置我的项目?

4

1 回答 1

1

你应该使用这个:

debug_and_release_target {
    CONFIG(debug, debug|release) {
        message("debug")
    } else {
        message("release")
    }   
}

这也是我们在 Qt 中使用的,包括QtSerialPort. 尽管我们也将它用于 Mac,以防万一:

if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
    LIBS += -lQtSerialPort$${QT_LIBINFIX}_debug
} else {
   LIBS += -lQtSerialPort$${QT_LIBINFIX}
}   
于 2013-09-27T18:29:22.263 回答