百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Qt如何给程序添加版本信息(qt怎么添加qrc)

cac55 2024-10-07 06:43 28 浏览 0 评论

阅读本文需要3分钟

自己亲手编译过 Qt Creator 源码的朋友都有这样的疑惑,为啥编译完成后最终生成的动态库、插件以及 exe 都会带数字 4 后缀,下面记录下如何出现以及如何解决

Aggregationd4.dll

一般我们在构建程序是一个简单的工程 pro 是这样的

TEMPLATE = app
TARGET = $IDE_APP_TARGET
DESTDIR = $IDE_BIN_PATH
QT = core
HEADER  += \
    ...
SOURCE  += \
    ...

这样在执行 qmake 构建后最终生成的文件不会包含版本信息,我们来看下这个库的信息

Aggregationd.dll信息

那么如何才能加入版本信息呢?

其实很简单,版本信息通常有两种方法可以实现

  • 手动编写 .rc文件
  • 自动生成.rc文件

手动编写 .rc 文件方法比较繁琐,直接找到某个模板修改即可,下面说说最简单的自动生成方法

在 pro 文件添加版本定义变量

在你需要添加版本的工程 pro文件中添加下面这行代码

VERSION = 4.4.1

然后重新构建,此时你会发现在工程临时文件夹目录多了一个文件

Aggregation_resource.rc

# if defined(UNDER_CE)
#  include <winbase.h>
# else
#  include <windows.h>
# endif
VS_VERSION_INFO VERSIONINFO
 FILEVERSION 4,4,1,0
 PRODUCTVERSION 4,4,1,0
 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 "040904b0"
   BEGIN
    VALUE "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"
   END
  END
  BLOCK "VarFileInfo"
  BEGIN
   VALUE "Translation", 0x0409, 1200
  END
 END
/* End of Version info */

该文件描述了这个库的版本等详细信息,然后查看动态库属性,文件版本信息都已经写进去了

Aggregationd.dll信息

好了,下面回到开始的问题,在编译 Qt Creator 源码后,为啥生成的动态库会包含数字 4 后缀,其实主要原因就是上述说的这个原因,qtcreator.pri 文件中定义了版本号变量,所以生成的库名称后面会追加数字4

Qt官方文档说明[1]

如何修改呢?其实知道的问题的原因后,修改起来也很简单,主要有两种方法

  • 删除 pro文件中 VERSION 字段定义;
  • 手动编写 .rc 文件,手动编写后 qmake 不会给你自动生成,然后可以自定义名称了;

参考资料

[1]

qmake描述文档: https://doc.qt.io/qt-5/qmake-variable-reference.html,

相关推荐

14款健身APP蹿红 看看下载最多的是哪款?

Zombies,Run!($3.99,安卓,iOS)如果你的运动理念是:除非有人追,否则绝不跑起来,那么这款APP应该适合你。Zombies,Run!这款程序把单调的跑步过程变身为躲避僵尸的游戏...

微软官方彩蛋庆祝《回到未来》纪念日

2015年10月21日,是MartyMcFly和Brown博士回到未来的时间。现在,这一天真的到了,那么当时影片中展示的一些科技产品究竟有多少实现了呢?作为一家走在技术前沿的公司,日前,微软就在M...

时尚圈最潮同志情侣 帅到没朋友(同志情侣微信头像)

来源:MSN时尚综合|2015-03-0419:45:15男演员ZacharyQuinto(中)与男模MilesMcMillan(右)于纽约街头公开热吻。情人节这个拥有不同起源传说,最早可以...

IE浏览器阻止过期ActiveX控件或将影响网银的使用

IE浏览器网银IE浏览器网银如果经常使用IE浏览器浏览网页的用户,可能都有遇到过浏览器窗口提示安装ActiveX控件的情况,一般情况下用户也是会选择直接安装。ActiveX控件广义上是指微软公司的整...

如何使Microsoft Band连接到WP设备

如果你幸运地购买到了MicrosoftBand,那么恭喜你。现在我们(winbeta)推出了“帮助系列”,那些尚未买到MicrosoftBand的朋友可以了解设备的一些新功能,以及设备的其他关键特...

毕业生不得不看的五大骗局全揭秘(毕业生防骗)

目前,距离高校大学生毕业已不足100天,大部分毕业生都十分忙碌。论文定稿、答辩,参加招聘、面试等成了应届毕业生的头等大事。但随着毕业季的临近,不法分子专门针对毕业生的诈骗高发期也随之来临。360手机安...

菠萝觅生活是O2O应用流量入口最大的供应商

现在主流的传统O2O生活服务,他们其实都有一个共通点,那就是各行其道。打车有快的,滴滴,外卖有饿了么,买机票有去哪儿网…每个APP都有着自己的核心竞争力。而用户呢?既想拥有海量有趣应用,又担心占用过多...

WP8.1版MSN健康应用,现已支持锁屏计步

IT之家(www.ithome.com):WP8.1版MSN健康应用,现已支持锁屏计步@WP之家报道,微软今天已将必应系列应用品牌归为MSN,除此之外,WP8.1版MSN健康和天气应用也获得一些新的...

短信就能传播手机病毒?看完推理惊呆了!

很多人都收到过一种带网址的陌生短信,有的人会点击网址看看,有的还会在好奇心驱使下回复短信。近日《北京新发现》栏目报道了一起离奇的电信诈骗案,事主耿先生的银行卡从未离身,但是在收到一条带网址的陌生短信,...

微软OneClip:我承包了你的剪贴板(微软onedrive云空间)

不久前,Twitter用户WalkingCat曝光了微软一款名为OneClip的应用。这是一款剪贴板应用,根据描述这款应用将覆盖Windows10(包括桌面和移动)、iOS和Android平台,可以...

Windows 10手机应该是什么样?微博用户给出了概念图

随着Windows10发布的不断临近,WindowsPhone的用户对Windows10的旗舰手机的期望也越来越高,我们WP中文网也在微博上发出了同样的问题,搜集用户对Windows10的硬...

云管家出席武汉2015年支付宝O2O生态峰会

2月4日,蚂蚁金服O2O生态峰会在武汉启幕。此次峰会展现了2015年蚂蚁金服在O2O领域的开放思路和策略,以及合作伙伴对O2O的创新观念及思路分享,吸引了武汉近3000名企业大佬、众多创业者、第三方服...

微软将于下周开启Windows开发中心帐号迁移工作

自下周开始微软将启动Windows开发中心的帐号迁移工作。根据WindowsBuildingApps博客透露Windows开发中心帐号迁移工作将会分为几个阶段。首个阶段从下周开始持续到今年7月份...

如何解绑已经合并的MSN账户和Skype账户?

如果您绑定的账户已经充值,建议您把产品消耗完毕后,再进行解绑。当您需要解绑合并的账户时,可登入Skype点卡账户自助操作。输入Skype或MSN账号、密码登录账户:登录后,可在页面左下角选择语言"中文...

微博账号已显示所属MCN机构,成为目前第二个上线该功能的平台

7月25日,多位网友发现,部分微博大V的个人主页已经显示其所属的MCN机构名称,微博也成为目前第二个上线该功能的平台。【来源:中新经纬】声明:此文版权归原作者所有,若有来源错误或者侵犯您的合法权益,您...

取消回复欢迎 发表评论: