2017-01-23 64 views
1

我正在使用Qt5.7.1編寫的使用C++編寫的Mac OS應用程序,該應用程序既可以直接從網站下載,也可以通過App Store分發。Qt5是否可以定義多個構建配置?

現在我有了一個新的要求,將自我更新添加到應用程序。這將需要構建兩個不同版本的應用程序 - 一個用於App Store(不具有自我更新機制),另一個用於直接下載(具有自我更新)。

我沒有問題來實現自我更新,但我堅持做一個單獨的生成配置。所以問題是 - Qt5中的是否可以定義兩個單獨的發佈配置(在單個.pro文件中),如果是,那麼如何?它也需要與qmake一起工作,因爲構建是自動的(使用Jenkins)。

+0

另請參見https://stackoverflow.com/questions/29405899/multiple-build-configurations-with-qmake-and-qt-pro-file – sashoalm

回答

0

您無法在.pro文件中真正定義2 版本配置。

但是你可以定義你的.pro文件不同的配置選項是這樣的:

foo { 
    #something 
    DEFINES += FOO 
} else { 
    #something else 
    DEFINES += NOT_FOO 
} 

bar { 
    #another thing 
    DEFINES += BAR=42 
} 

然後當你運行qmake,或者添加或CONFIG+=fooCONFIG+=bar兩者。

終於在QtCreator,只要你想,你可以定義爲許多建造輪廓和定製呼叫通過添加或不CONFIG+=foo選項qmake的每個配置文件。

欲瞭解更多信息,請檢查qmake的CONFIGdocumentation,尤其是最後一個例子。

+0

_您無法真正定義.pro文件中的2發佈配置_ 這樣做不違反你的第二句話? 你說的是對的。最簡單的方法是在qt創建器中複製release-config,然後根據您構建的是哪種版本,將CONFIG-flags添加到qmake命令。也就是說,您可以擁有無​​限數量的「發佈」/「調試」配置。 –

+0

@ markus-nm這就是爲什麼「真正」和「釋放」以粗體顯示。如果你直接回答問題,答案是「否」。 –

相關問題