
5.12.2没有找到for Desktop,他的名字不同,只有一个QT5.12.2(MinGw版本号),这个就是了
4.2 打开红色标记的命令窗口 :
(其实在QT目录下是可以找到这个目录的。)
4.3 接着输入命令行,cd /d 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车后:
出问题的exe名称为TestApp.exe,在Visual Studio下编译运行都正常,但无法直接点击exe运行。报错为(应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序)本人环境:基于visual studio IDE下的QT编译器,共有四种,在 qt-版本号 文件夹下。
我的问题解决步骤如下:
1.看准自己项目的编译环境
我电脑虽然是64位的,但是编译器环境是32位的,故之后所有都需要以32位为标准
由于是Visual Studio ,所以采用下面文件夹中的msvc2017环境进行编译(没有标注64位就是32位)
2.添加系统环境变量
打开控制面板搜索环境变量,对系统path进行更改
按照上一步的环境进行配置!!!不要添加冗余路径,一项即可!!
PS:多项也可以,但是要在IDE中选择正确的default编译器,不然系统会搞混64和32位的dll
3.进入qt自带的命令行中
开始框中搜索 → 选择合适的环境(比如我是MSVC 2017 32-bit)→ 进入目标exe程序所在文件夹
输入命令
windeployqt xxx(目标exe名称)
复制
PS:该命令(windeployqt)若添加了系统Path后,也可以直接在系统cmd中运行,前提是:环境Path只有适合自己项目的那一项!!(only 32 or 64) 否则系统会弄混。。。然后就又失败链接了qaq
此时,在exe的文件夹下面会多出很多文件夹和dll文件,表明已经link成功
再次强调:不同位数的编译器链接出来的dll不同!一定一定要适合自己的程序
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)