2

Qt程序打包_五个板栗的技术博客_51CTO博客

 1 year ago
source link: https://blog.51cto.com/u_15515702/5568521
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Qt程序打包

原创

五个板栗 2022-08-11 17:35:30 博主文章分类:Qt ©著作权

文章标签 Qt程序打包 链接库 错误 文章分类 Windows 系统/运维 yyds干货盘点 阅读数139

Windeployqt.exe是Qt自带的工具,用来创建应用程序发布包。这个工具可以自动地将某程序依赖地库、资源拷贝到所在目录,防止程序在其他电脑上运行找不到库地错误。

当我们打包完程序出现下面错误时,遇到以下错误

无法启动此程序,因为计算机中丢失libgcc_s_dw2-1.dll.尝试重新安装该程序以解决此问题

解决方法有两种

1. 找到缺少的库文件,将他放到相应的目录里。可以直接到你安装程序的\bin目录下直接搜索相应文件,找到后复制到.exe文件所在的目录下即可,这种方法需要在所有缺少的地方一一添加。

2. 通过设置环境变量

打开高级环境设置,点击环境变量,找到path,点击编辑,将相应的bin目录路径复制进去,然后重启即可。

在将Qt程序构建、运行、打包之后点击生成的exe文件发现出现以下无法找到入口的错误

无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。

出现这个错误的原因是构建项目时使用的编译工具和打包软件时采用的编译工具不一样的原因。

在Qt creator中,我们点击Release可以查看到构建项目时使用的编译工具

Qt程序打包_错误

接着点击Release下拉里面的Release,然后在项目工程文件夹中就生成了Release文件夹

Qt程序打包_链接库_02

打开这个Release相关的文件夹,找到该目录下release文件夹里面的.exe程序,将.exe拷贝出来,创建一个单独的文件夹,放在这个文件夹下。

然后打开windows搜索框,找到和构建项目时所用的编译工具,点击打开

Qt程序打包_错误_03

进入之后cd 到你创建的存放.exe的文件夹下,执行windeployqt命令进行打包:windeployqt  文件名.exe

该操作的作用是将所有的库文件全部拷贝到exe程序的当前目录下

Qt程序打包_链接库_04

这时候可以看见你创建的该文件夹下生成了很多库,点击文件名.exe程序就可以正常运行,将这个目录全部拷贝到其他电脑上,也可以正常运行。

  • 收藏
  • 评论
  • 分享
  • 举报

上一篇:Qt学习第三天


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK