2013-09-27 32 views
2

我想根據調試或發佈構建配置更改一些DEFINES和LIBS路徑,但是我的CONFIG變量同時包含釋放和調試變量。qmake CONFIG const同時釋放和調試變量

在親文件簡單的測試:

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

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

該測試輸出:

Project MESSAGE: DEBUG build 
Project MESSAGE: RELEASE build 

我應該如何設置我的項目?

+1

這是最後一次發生的「調試」或「發行」的重要。有關詳細信息,請參閱此答案:http://stackoverflow.com/a/16974223/856199 –

回答

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} 
}