如何在Qt中为Windows设置我的应用程序版本?

问题描述:

当我的应用程序崩溃时,Windows事件查看器始终将我的应用程序版本报告为“0.0.0.0”。 Windows Event Viewer version 我无法确定如何以Windows事件查看器识别的方式设置应用程序版本。改变它与QApplication::setApplicationVersion()似乎并没有这样做。如何在Qt中为Windows设置我的应用程序版本?

显然有比Windows Crash Log更好的调试程序的方法,但是代替所有这些,我该如何设置该值以便Windows能够识别它?我的IDE是Qt Creator。

您可以设置在pro文件VERSION QMAKE变量:

VERSION = 1.0.0.0

在Windows上,触发rc文件的自动生成,如果RC_FILE和 RES_FILE变量未设置。生成的.rc文件的 FILEVERSION和PRODUCTVERSION条目将填充主要,次要,补丁 级别和内部版本号。

+0

这是完全正确的。但是,在设置应用程序图标时,它不起作用(http://doc.qt.io/qt-4.8/appicon.html),因为它会覆盖由'VERSION'创建的rc文件。有没有办法将这两个RC文件结合起来? 'RC_FILE + ='似乎没有预期的效果。 – Phlucious

+2

@Phlucious在Qt 5中有一个方便的['RC_ICONS'](http://doc.qt.io/qt-5/qmake-variable-reference.html#rc-icons)'qmake'变量,但是I' m不确定在Qt​​ 4中是否可用。如果不是,您可以随时将两个RC文件的内容手动合并到一个文件中,并使用'RC_FILE'引用它。 – kefir500

+0

完美。谢谢!即使使用QWidget应用程序,迁移到Qt5的需求也变得越来越明显。 – Phlucious