QT 无法定位程序输入点
系统:windwos 64bit
QT:5.12.2
一、遇到问题
- QT程序在relese下出现“程序异常结束,可执行程序crash"
14:05:57: 程序异常结束。
14:05:57: The process was ended forcefully.
14:05:57: E:/QT_waibaozhuangxiang/build-waibaozhuangxiang-Desktop_Qt_5_12_2_MinGW_64_bit-Release/release/waibaozhuangxiang.exe crashed.
- 打开可执行程序,显示缺少动态连接库,设置环境变量后,提示无法定位程序输入点。
二、解决思路以及方法
- 程序异常结束,可以尝试将QT的编译器环境写入系统环境变量,并将系统环境变量移动到其他变量的上面
// 打开QT生成的exe显示,缺少动态链接库
将exe赋值到编译器bin路径下,exe能够正常打开。初步确定是环境变量问题
// 本机用的编译器路径bin路径
C:\qt5.12.2\installPath\5.12.2\mingw73_64\bin
// 将路径写入系统环境变量,并将其移动到其他变量值之前
此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量 -> 双击path -> 新建 -> 填入QT编译器的bin路径 -> 上移(移动到最前)-> 确定 -> 确定 -> 确定
// 此时再双击QT release文件下生成的exe,显示无法定位程序输入点
1、将生成的exe赋值到一个新建的文件夹,如桌面test文件
2、用编译器命令窗下调用windeployqt命令,自动寻找需要的动态链接库。(windeployqt是调用编译器的windeployqt.exe程序,我本机的该文件路径为C:\qt5.12.2\installPath\5.12.2\mingw73_64\bin\windeployqt.exe)
- cd 到test 文件位置,输入命令:
windeployqt waibaozhuangxiang.exe
- QT 512.2(MinGW 73.0 64bit)图片以及自动生成文件图片如下
- 双击上述图片中的exe可执行程序,能够正常打开,把文件夹赋值到没有qt环境的电脑也可以执行,此时完成了exe的全部移值打包工作。