1

我现在几乎完成了我在 Qt 中的应用程序。我想部署它,除此之外,当有人右键单击可执行文件并查看详细信息时,我想设置应用程序信息。

我找到的最佳信息来源是这个链接:在 Windows 上的 Qt 可执行文件中设置应用程序信息

但是,在 Qt5 中,在创建 .qrc 文件和前缀后,我无法让它工作。如果 .qrc 文件是在 Qt 外部编辑的,在 Qt 内部打开它时总是会出现未知错误。

任何人都可以为我提供一个工作示例吗?它在上面的链接中显示的方式正是我想要做的。

提前致谢!

4

1 回答 1

0

只需使用 Qt Creator "File"->"New File of Project.."->"General"->"Text file" 或项目文件夹中的任何文本编辑器在此上下文中创建文件 "resources.rc":

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

您的项目中还应该有头文件“version.h”:

#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

然后在你的 *.pro 文件中添加

RC_FILE = file_prop_detail.rc

就这些。这种方法适用于 Qt 5.4。

于 2015-10-07T07:08:05.017 回答