Establecer la información de la aplicación en un archivo ejecutable Qt en Windows

¿Alguien tiene consejos sobre cómo configurar la información de la aplicación (es decir, hacer clic derecho en .exe-> propiedades) desde Qt?

Puedo agregar cadenas de versión arbitrarias al archivo de recursos de Qt (qrc) y mostrarlas. Pero la mayoría de los instaladores de Windows comprueban el número de versión y no puedo encontrar una forma de Qt de configurar estos campos, aparte de mantener manualmente un archivo .RC separado

¡De alguna manera que le permita actualizar esto desde una construcción automatizada también sería bueno!

Así es como lo hago … agregue un archivo llamado resources.rc a su proyecto con los contenidos:

IDI_ICON1 ICON DISCARDABLE "res/app.ico" #include  #include "version.h" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION PRODUCTVERSION VER_PRODUCTVERSION BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN VALUE "CompanyName", VER_COMPANYNAME_STR VALUE "FileDescription", VER_FILEDESCRIPTION_STR VALUE "FileVersion", VER_FILEVERSION_STR VALUE "InternalName", VER_INTERNALNAME_STR VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR VALUE "ProductName", VER_PRODUCTNAME_STR VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1252 END END 

y un archivo llamado version.h con los contenidos:

 #ifndef VERSION_H #define VERSION_H #define VER_FILEVERSION 1,0,0,0 #define VER_FILEVERSION_STR "1.0.0.0\0" #define VER_PRODUCTVERSION 1,0,0,0 #define VER_PRODUCTVERSION_STR "1.0\0" #define VER_COMPANYNAME_STR "Your Organization" #define VER_FILEDESCRIPTION_STR "CoolApplication" #define VER_INTERNALNAME_STR "CoolApplication" #define VER_LEGALCOPYRIGHT_STR "Copyright © 2010 Your Organization" #define VER_LEGALTRADEMARKS1_STR "All Rights Reserved" #define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR #define VER_ORIGINALFILENAME_STR "coolapplication.exe" #define VER_PRODUCTNAME_STR "CoolApplication" #define VER_COMPANYDOMAIN_STR "example.org" #endif // VERSION_H 

y finalmente a su archivo .pro, agregue: RC_FILE = resources.rc . Las plataformas que no sean Windows ignorarán el valor, por lo que no es necesario prefijarlo con win32:

De acuerdo, dos años después de que me lo pidieron … pero quizás alguien lo encuentre útil …

Intenta usar las siguientes variables de qmake:

 VERSION = 0.4.0.1 QMAKE_TARGET_COMPANY = company QMAKE_TARGET_PRODUCT = product QMAKE_TARGET_DESCRIPTION = description QMAKE_TARGET_COPYRIGHT = copyright 

Más información aquí .