Qt可执行程序及动态库等写入版本信息

添加版本信息时,参考类似的文章,给自己的exe和动态库都加上了版本号。

https://www.cnblogs.com/Braveliu/p/4506844.html   

rc文件如下

IDI_ICON1 ICON "version.ico"

#if defined(UNDER_CE)
#include <winbase.h>
#else
#include <winver.h>
#endif

VS_VERSION_INFO VERSIONINFO
    FILEVERSION 1,0,0,10
    PRODUCTVERSION 1,0,0,10
    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"
            BEGIN
                VALUE "CompanyName", "中国软件股份有限公司\0"
                VALUE "FileDescription", "软件名称\0"
                VALUE "FileVersion", "1.0.0.10\0"
                VALUE "ProductVersion", "1.0.0.10\0"
                VALUE "LegalCopyright", "版权所有 (C) 中国软件股份有限公司\0"
                VALUE "LegalTrademarks", "中国软件股份有限公司\0"
                VALUE "OriginalFilename", "version.exe\0"
                VALUE "ProductName", "软件名称\0"
                VALUE "InternalName", "version.exe\0"
           END
        END
        
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x804, 1200
        END        
    END

原来每次都是根据svn的提交号修改rc文件,然后再编译程序,有个问题就是提交的rc总要晚一些,而且每次编译前都要修改它,很是麻烦。后来改成git了。它的哈希值太长了,无从下手。

总是听大佬们说根据build次数等等自动修改,一直没好的思路。自己也很想改成每次build前自动修改它。

今天突然想起了QtCreator中的自定义编译步骤,这不就是为了我准备的嘛。只要自定义一个步骤,编译之前修改一下文件里面的版本信息就ok了。

于是花了1个小时写了一个简单的东西,我叫它mRC,按照自己需要的修改逻辑完成。然后再项目的构建步骤中添加进来,测试通过,每次都能在build之前进行修改。

标题

后面提供exe下载。

https://gitee.com/lhca/share-mRC.git

发布了14 篇原创文章 · 获赞 4 · 访问量 7435

猜你喜欢

转载自blog.csdn.net/yxmlhc/article/details/103518836
今日推荐