关于vs qt 64位程序 编译文件0xc000007b错误的解决方案

最近经常遇到这个问题,用QT的命令窗口编译的程序,在别人电脑上有些能正常运行有些就会出现0xc000007bde的错误,或者提示缺少xxxxx.dll文件缺失的错误,然后你将将这个动态库文件复制过去你就会发现最后还是会出现0xc000007b的错误,其实提示缺少.dll文件时并不是缺少文件,大概也就是因为程序找不到改文件。下面讲一下解决方案,百度上有很多方式,但是试了好多都不行,在这里记录一下:

第一步: 

先找到vs的命令窗口,我们使用兼容工具命令提示,64位的就使用x64版本,32位使用x86版本

第二步: 
假设项目名称是MainWindow,将写好的程序以 Release 方式编译生成 exe 程序; 
第三步: 
生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径: 
C:\MainWindow\ 它的项目生成目录是 C:\MainWindow\x64\Release\ 
进入这个文件夹,在进入它的子文件夹 release 里面,找到 MainWindow.exe , 
将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 D:\MainWindow\ 文件夹里面。 
第四步: 
从你打开的命令提示工具,输入命令 :cd D:\MainWindow文件夹中 
然后使用 windeployqt 工具命令:windeployqt MainWindow.exe 
在 D:\MainWindow文件夹里看到 windeployqt 工具自动复制的插件文件夹 
和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。 

 

 

出现这种情况可能还存在另外一种情况就是你的库文件搬运错了,32位和64位的库文件名称一样,但是如果你搬运的文件出错了也会出现这种情况,只需要从编译器的bin目录下copy需要的dll动态库,将所有的文件替换成64位的就行了

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值