Qt exe程序缺少dll(Qt exe程序快速关联dll)

Posted 紫夜君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt exe程序缺少dll(Qt exe程序快速关联dll)相关的知识,希望对你有一定的参考价值。

  用Qt编译的exe程序,在打开时,经常会提示缺少各种dll而导致程序无法正常运行。

  将相关dll放置到exe程序的当前目录下就可以解决这个问题,这也是打包程序前必须的操作。

  一个笨方法是依据相关提示,在Qt安装目录下的bin目录,将相关缺少的dll依次拷贝到exe程序的目录下。

  但是通常都是使用windeployqt工具解决的,该工具是qt自带的部署工具,不需要另外安装。

操作步骤

  1. 把生成的exe文件拿出来,放置到一个单独的目录下,我在桌面新建一个名为test的文件夹,然后把这个exe文件放进去。其路径如下 C:\\Users\\Administrator\\Desktop\\test

 

 

   2.在windows的快捷栏中打开Qt命令行。由于我的Demo.exe程序是Qt5.12.9版本,使用MSVC 2015 64位进行编译的,所以我需要打开Qt 5.12.9(MSVC 2015 64-bit)

  开启后出现如下界面:

  3.将文件路径切换到Demo.exe程序目录下,在命令行输入cd C:\\Users\\Administrator\\Desktop\\test

  如果你和我的文件路径不同,这里cd 你自己的路径即可。

  4.使用windeployqt部署程序。在命令行输入 windeployqt Demo.exe

  如果你的程序名和我的不同,这里windeployqt 你自己的程序名即可。

  等待部署完成后,会发现Demo.exe目录下多了很多dll

这时候Demo.exe就能够正常运行啦。

当然如果你在工程中调用了除QT以外的其他第三方DLL,windeployqt 是不会帮你自动关联的,这就需要你手动将你使用的dll放到Demo.exe的目录下了。

结语

  如果你有什么不懂的地方,亦或者发现博主某个地方存在错误,欢迎留言交流。感谢你的反馈。

  如果你觉得这篇文章对你有帮助,请在文章的左下角点个赞。

以上是关于Qt exe程序缺少dll(Qt exe程序快速关联dll)的主要内容,如果未能解决你的问题,请参考以下文章

Qt运行文件夹下exe文件,出现无法定位程序输入点

如何用Qt自动拷贝exe依赖的dll

dgpdf.exe系统错误Qt5Network.dll

Qt4程序在windows平台下打包发布

QT 生成的exe 无法打开 说缺少QTCORED4.DLL文件, 试了很多次,把QTCORED4.DLL文件放到目录下还是不行

Qt项目的发布