2017-01-23 68 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这就是为什么“真正”和“释放”以粗体显示。如果你直接回答问题,答案是“否”。 –

相关问题