Frage

Jeder hat eine Spitzen hat auf die Anwendung Info-Einstellung (dh. Die rechte Maustaste auf .exe-> Eigenschaften) von Qt?

kann ich beliebige Version Strings Qt-Ressourcendatei (QRC) hinzufügen und sie anzuzeigen. Aber die meisten Windows Installer überprüfen Sie die Versionsnummer, und ich kann nicht eine Qt Art und Weise der Einstellung diese Felder außer manuell Aufrechterhaltung einer separaten RC-Datei

finden

Einige Art und Weise, wie Sie dies von einem automatisierten Build aktualisieren kann auch schön sein!

War es hilfreich?

Lösung

Hier ist, wie ich es tun ... Eine Datei resources.rc zu einem Projekt mit dem Inhalt aufgerufen:

IDI_ICON1   ICON    DISCARDABLE "res/app.ico"

#include <windows.h>
#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

und eine Datei version.h mit dem Inhalt genannt:

#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

und schließlich zu Ihrem .proDatei hinzu: RC_FILE = resources.rc. Nicht-Windows-Plattformen den Wert ignorieren, so dass Sie es nicht mit win32: Präfix muss.

Andere Tipps

Okay, zwei Jahre nach gefragt zu werden ... aber vielleicht wird jemand findet es sinnvoll, ...

Versuchen Sie die folgenden Qmake Variablen zu verwenden:

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

Weitere Informationen href="http://qt-project.org/forums/viewthread/16520">.

scroll top