QT 增加版本公司等信息

        在项目中生成exe或者动态库过程中可能需要加入公司信息、版本号、说明等等,可以通过两种方式增加右键文件说明信息。

1. pro文件中增加对应的宏。

# 版本信息
VERSION = 4.0.2.666

# 图标
RC_ICONS = Images/MyApp.ico

# 公司名称
QMAKE_TARGET_COMPANY = "Digia"

# 产品名称
QMAKE_TARGET_PRODUCT = "Qt Creator"

# 文件说明
QMAKE_TARGET_DESCRIPTION = "Qt Creator based on Qt 5.7.0 (MSVC 2013, 32 bit)"

# 版权信息
QMAKE_TARGET_COPYRIGHT = "Copyright 2008-2016 The Qt Company Ltd. All rights reserved."

# 中文(简体)
RC_LANG = 0x0004

2. 自定义rc文件

在pro文件中增加:RC_FILE += XXX.rc

xxx.rc文件内容

#include <windows.h>

//中文的话增加下面这一行

#pragma code_page(65001)

VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,0,2,666
PRODUCTVERSION 4,0,2,666
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000404b0"
BEGIN
VALUE "CompanyName", "Digia\0"
VALUE "FileDescription", "Qt Creator based on Qt 5.7.0 (MSVC 2013, 32 bit)\0"
VALUE "FileVersion", "4.0.2.666\0"
VALUE "LegalCopyright", "Copyright 2008-2016 The Qt Company Ltd. All rights reserved.\0"
VALUE "OriginalFilename", "test_rc.exe\0"
VALUE "ProductName", "Qt Creator\0"
VALUE "ProductVersion", "4.0.2.666\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0004, 1200
END
END
/* End of Version info */

 

推荐使用第二种方式,第一种有以下缺点。

第一种方式:Qt会自动生成XXX.rc文件,并和其他文件一起编译

  缺点一:但是pro文件默认采用UTF-8编码,所以不支持中文,中文显示是乱码。 

  解决办法:需要手动将编码方式改为“ANSI”,才可以正确显示中文,但是改成这种编码后pro不可编辑导致添加文件等操作失败。

  缺点二:原始文件名字段不支持使用宏定义,6.0之后才可以使用

设置方法

在QMake Manual手册中搜索关于QMAKE_TARGET内容可以看到有如下QMake变量:

  • QMAKE_TARGET_COMPANY:用于指定生产商
  • QMAKE_TARGET_DESCRIPTION:用于描述应用程序
  • QMAKE_TARGET_COPYRIGHT:用于声明版权
  • QMAKE_TARGET_PRODUCT:用于指定产品名称

所以在.pro文件中设置相关变量即可。
需要注意:

  • 如果变量值是中文,需要将.pro文件以system本地编码保存。

前提:
需要在pro中设置VERSION变量才能生效。

猜你喜欢

转载自blog.csdn.net/qq_37529913/article/details/129920632