Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法

在将 Qt 程序构建、运行、打包之后点击生成的 exe 文件发现出现以下“无法找到入口”错误。
Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第1张图片

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

之后发现是因为构建项目时使用的编译工具和打包软件时使用的编译工具不一样所导致的。
打包Qt项目的过程如下:

  1. 使用 Qt Create 打开项目。
    如下图所示,选择 release ,有时需要选择编译工具,可以看到图中的编译工具是MinGW 32bit
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第2张图片
  2. 编译之后在工程项目文件夹下可看到 release 文件夹
    image.png
  3. 打开关于release相关的文件夹,找到该目录下release目录下的.exe程序。将这个.exe文件拷贝出来,创建一个单独的文件夹,放在这个文件夹下。
  4. Windows图标找到Qt软件,如下图所示,本人电脑里有5个编译工具,找到与第一步里相同的编译工具,打开。
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第3张图片
    如图所示:
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第4张图片
  5. 在该命令行窗口中通过盘符和cd命令转到才拷贝出来的exe程序所在的目录。
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第5张图片
  6. 使用windeployqt命令打包,即windeployqt 文件名.exe 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第6张图片
  7. 此时程序目录如下,点击exe文件即可正常运行程序。将该目录整体拷贝到其它Windows系统中也可直接运行。
    Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法_第7张图片

你可能感兴趣的:(Qt软件打包后报错“无法定位程序输入点_ZN10QArrayData10deallocateEPs_jj于动态链接库..... .exe上。”解决办法)