对rc文件的设置,可利用QT内置变量
1. 使用.rc文件
- 手动编写.rc文件
- 自动生成.rc文件
手动编写 .rc 文件方法比较繁琐,直接找到某个模板修改即可,下面说说最简单的自动生成方法
在 pro 文件添加版本定义变量,即在你需要添加版本的工程 pro文件中添加下面这行代码:
VERSION = 4.4.1
然后重新构建,此时你会发现在工程临时文件夹目录多了一个文件
_resource.rc 为工程名称
比如工程名称为Aggregation:
# if defined(UNDER_CE)# include <winbase.h># else# include <windows.h># endifVS_VERSION_INFO VERSIONINFOFILEVERSION 4,4,1,0PRODUCTVERSION 4,4,1,0FILEFLAGSMASK 0x3fL#ifdef _DEBUGFILEFLAGS VS_FF_DEBUG#elseFILEFLAGS 0x0L#endifFILEOS VOS__WINDOWS32FILETYPE VFT_DLLFILESUBTYPE 0x0LBEGINBLOCK "StringFileInfo"BEGINBLOCK "040904b0"BEGINVALUE "CompanyName", "\0"VALUE "FileDescription", "\0"VALUE "FileVersion", "4.4.1.0\0"VALUE "LegalCopyright", "\0"VALUE "OriginalFilename", "Aggregation4.dll\0"VALUE "ProductName", "Aggregation\0"VALUE "ProductVersion", "4.4.1.0\0"ENDENDBLOCK "VarFileInfo"BEGINVALUE "Translation", 0x0409, 1200ENDEND/* End of Version info */
该文件描述了这个库的版本等详细信息,然后查看动态库属性,文件版本信息都已经写进去了
好了,下面回到开始的问题,在编译 Qt Creator 源码后,为啥生成的动态库会包含数字 4 后缀,其实主要原因就是上述说的这个原因,qtcreator.pri 文件中定义了版本号变量,所以生成的库名称后面会追加数字4
最后在pro文件添加:
RC_FILE += ****_resource.rc
记得将之前用于生成.rc文件的代码删除,即删除:
VERSION = 4.4.1
注:一定要确保rc文件为GBK的格式,不然会中文乱码,生成的rc文件默认都是UTF-8格式
2.使用内置变量
注:如果变量值是中文,需要将.pro文件以system本地编码保存。(未测试,不知道行不行)
- QMAKE_TARGET_COMPANY:用于指定生产商
- QMAKE_TARGET_DESCRIPTION:用于描述应用程序
- QMAKE_TARGET_COPYRIGHT:用于声明版权
- QMAKE_TARGET_PRODUCT:用于指定产品名称
