Qt打包、图标问题

(一)使用Qt命令windeployqt 抓取所依赖的库

1.随便新建一个文件夹,起个名字,Package
2.将build-release里的.exe拷贝到该目录下
3.开始菜单里找到编译器(我用的是Qt MSVC2019-32bit)

在这里插入图片描述
4.cd进入到目标目录下,输入Qt打包命令:windeployqt YeecohReader.exe (自动抓取.exe所依赖的库等,但是可能抓不全,需要再手动补充)
在这里插入图片描述
5.手动补充所缺失的库等
在这里插入图片描述


其他博主的描述:
在这里插入图片描述


我写的bat自动打包脚本




(二)使用NSIS生成安装向导

NSIS就是一个穿着【安装向导】外衣的【压缩包】
在这里插入图片描述
生成安装向导,编译脚本,生成setup.exe



(三) 打包中遇到的问题bug:图标无法生成
Windows

报错:

 error: RC2175 : resource file E:\Edward.Wang\YR\YeecohReaderCode\YR109\trunk\YeecohReader.ico is not in 3.00 format

解决:
在这里插入图片描述
原因:.ico版本过旧,需要重新制作。
原网址:https://social.msdn.microsoft.com/Forums/vstudio/en-US/b0360344-832e-4009-bd8c-e34fade34c48/resource-file-icon-is-not-in-300-format?forum=vcgeneral

改变exe的图标

1、下载一个.ico格式的图标(如:YeecohReader.ico),将YeecohReader.ico复制到工程目录下。
2、工程目录下新建一个空白txt文档,文档内添加如下内容

IDI_ICON1 ICON DISCARDABLE "YeecohReader.ico"

将文档后缀由txt修改为.rc(如:YeecohReader.rc
3.在工程的.pro文件添加如下内容

RC_FILE = YeecohReader.rc

另注:使用VS+Qt的开发方式:在编辑器上的项目目录(Resource Files)添加YeecohReader.rc文件即可。

4、重新构建,即可发现生成的程序图标变成了YeecohReader.ico


.ico图标制作网站

http://www.ico51.cn/
最好用.jpg格式的图片来生成.ico图标



Linux

Linux下的图标,不能用.rc文件和 RC_ICONS= xxx.ico这两种方法,这两种方法仅限于Windows
Linux下图标是使用.desktop,其中的ICON=png图标的绝对路径

①桌面图标:直接就在桌面快捷方式的.desktop
②任务栏图标:/usr/share/applications/yeecohreader.desktop
③开始菜单图标:不知道

都是找.desktop,改里面ICON的绝对路径。
[可以恶搞,把自己的程序图标改成wps之类的]

问题:改了路径后,图标由默认的紫色齿轮变成透明
解决:这种情况就是因为png图片过大,比如我的是771*771像素,就不显示。重新修改尺寸改成256×256像素,就可以用了。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Qt打包exe文件有多种方法可以选择。下面是其中两种常用的方法: 方法一:使用Qt提供的工具windeployqt 1. 首先,使用Release方式编译你的Qt程序。 2. 打开命令提示符,并导航到你的Qt程序的构建目录。 3. 运行以下命令:windeployqt <your_program_name>.exe 这将自动复制所需的Qt库和依赖项到您的程序目录中,以确保您的程序可以在其他机器上正常运行。 方法二:使用Enigma Virtual Box打包工具 1. 首先,使用Release方式编译你的Qt程序。 2. 下载并安装Enigma Virtual Box工具。 3. 打开Enigma Virtual Box,并点击“Add files”按钮,选择你的Qt程序的可执行文件和所需的Qt库文件。 4. 在Enigma Virtual Box中设置你的程序的图标和其他选项。 5. 点击“Build”按钮,选择输出目录和输出文件名,然后点击“Build”按钮开始打包打包完成后,你将得到一个包含所有依赖项的独立的exe文件。 请注意,以上方法只是其中的两种常用方法,你也可以尝试其他的打包工具或方法来打包你的Qt程序。另外,为了确保打包成功,你可能需要手动拷贝一些Qt库文件和依赖项到你的程序目录中,具体的操作可以参考Qt官方文档或其他相关资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [C/C++ Qt 编译打包项目](https://blog.csdn.net/lyshark_csdn/article/details/127833969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Qt程序打包成一个单独exe的方法](https://blog.csdn.net/childbor/article/details/125283893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员爱德华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值