Qt程序版本号之rc文件

发布的Qt应用程序可设置版本号,但Qt未为win32平台提供相关接口,较简单的办法是使用.rc文件。.rc文件是开发windows平台应用程序管理资源的文件,在Qt工程的.pro里指定其路径,添加示例文件后重新构建编译工程,程序就带有版本信息了。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt程序版本号之rc文件

发布的应用程序,可以设置版本号,鼠标右键exe文件,属性中查看,像这样:

https://i-blog.csdnimg.cn/blog_migrate/570b8f7f6a703d286b9c56facc206c2a.png

那么问题来了,怎么做到的?

因为只有win32平台才有这个东西,所以qt没有提供相关的接口。只有用其他办法了。其中比较简单的办法就是:使用.rc文件给win32平台的程序增加版本等信息。

但是,经常会发布出去的除了exedll,还有lib,貌似lib文件不能有版本信息。

那什么是.rc文件?

https://msdn.microsoft.com/zh-cn/library/windows/desktop/aa380599(v=vs.85).aspx

摘要:开发windows平台应用程序管理资源的文件。.rc文件是管理程序icon、鼠标图片、等资源的脚本,会被编译和链接到exedll文件。编译这个rc文件要使用RC (The RC Command Line),编译出来是.res文件。当然,我们不会自己去编译它了。

Qt工程中怎么使用.rc文件?

.pro里指定RC_FILE = .rc文件的路径:

https://i-blog.csdnimg.cn/blog_migrate/77620debbf0361f45d069667fb793a8c.png

.rc文件的语法可以看看rc脚本管理的资源种类:比如BITMAPICONVERSIONINFO等等。

https://msdn.microsoft.com/zh-cn/library/windows/desktop/aa381043(v=vs.85).aspx

也可以看看版本相关的变量和官方例子:比如FileVersionProductNameProductVersion等等。

https://msdn.microsoft.com/zh-cn/library/windows/desktop/aa381058(v=vs.85).aspx

都是官方的文档啦,懒的同学直接看下面的myVersion.rc小例子也可以凑合用了:(具体语法我也没深究,可用,不保证100%正确)

#if defined(UNDER_CE)

#include

#else

#include

#endif

VS_VERSION_INFO VERSIONINFO

 

    FILEVERSION 1,4,1,12

    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 "080404b0"//Simplified Chinese, Unicode

            BEGIN

 

                VALUE "FileDescription", "MyVersion"

                VALUE "LegalCopyright", "Copyright (C) 2017-2022"

                VALUE "OriginalFilename", ""

                VALUE "ProductName", "My Version"

                VALUE "ProductVersion", "2.4.3.1"

 

            END

        END

 

        BLOCK "VarFileInfo"

        BEGIN

            VALUE "Translation", 0x804, 1200 //Simplified Chinese, Unicode

        END

    END

好了,加了myVersion.rc文件,重新构建编译工程,就带版本信息啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值