Qt项目的发布

Qt项目的发布

(1)首先将项目调为发布版

image-20200213095258104

(2)找到缺失的DLL文件

发布好了后,双击生成的exe文件可能会出现如下的问题

image-20200213100120219

像这样的错误警告可能会弹出好几个,对于这种错误有2种解决方案。

  • 第一种:配置环境变量

1、复制Qt bin目录添加到环境变量

image-20200213100536627

image-20200213100733899

  • 第二种:将缺失的DLL复制到生成的exe同一个文件夹下

去Qt的bin目录下找到缺少的DLL

image-20200213100536627

我所写的一个小程序缺少了3个DLL文件,将他们复制到同一个文件夹下,如下

image-20200213101120053

最后我们再双击exe文件发现还是报错了

image-20200213101359617

错误的原因可以自己上网搜,这里给出解决方案

去Qt的bin目录下找到libstdc++-6.dll文件,并复制到同一个文件夹

image-20200213102023758

现在双击exe文件,程序就能成功运行了。

(3)在不同的电脑上运行

上面说的方法可以解决发布的exe在本机运行出错的问题,但是并不能保证能在其他电脑上能正常运行,如下这是我在虚拟机里测试的情况

image-20200213102750713

出现这种错误,可以向上面所说的方法,找到缺失的DLL

但是找到所有缺失的DLL后还是会发生错误,如下

image-20200213102941202

在网上查找资料得知,将plugins/platforms目录下的DLL复制到同一目录,若所写的程序还包括image组件还需要把plugins/imageformats下的DLL复制过去,这样程序就能无误的运行了。

虽然这能解决问题,但是我们复制过去这么多的依赖,并不一定全部需要,为了精确的得知程序所需要的依赖,可以借助一个软件Process Explorer下载链接,通过它可以精确的得知所需要的DLL

首先打开软件,并调出DLL面板

image-20200213104301354

然后找到自己编写的Qt程序,就能看到相关依赖的DLL文件了

image-20200213104541878

按照路劲找到他们,复制到同一个文件夹,程序就能正常运行了,唯一要注意的是plugins目录下的DLL文件需要带上他所在的文件夹

image-20200213105322192

这样程序就能在不同的电脑自由运行了。

猜你喜欢

转载自www.cnblogs.com/hemou/p/12334320.html