QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法
QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法
最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误耽误了群里一位朋友的时间
。决定以后如果遇到类似小问题就记录下来,也方便初学者少走弯路了。
首先,qt动态编译发布程序一般是在Qtcreater中编译出release版本并运行后,在生成的release版本文件夹中取出exe。单独运行exe时会报错缺少dll,出现这个问题直接在qt库的文件夹中搜索提示的dll,放入exe所在的文件夹即可。
我遇到的(0xc000007b)问题也出在这个阶段,也是太粗心了。
报错(0xc000007b)的可能解决方法:
① 许多dll应当取自Qt5.4.0\5.4\msvc2013_64\bin目录下,而在Qt5.4.0\Tools\QtCreator\bin中也有许多同名的dll,直接搜索文件时Qt5.4.0\Tools\QtCreator\bin中的dll往往先蹦出来,如果将这些dll放到exe文件夹中,就会报错“应用程序无法正常启动(0xc000007b)”。碰到这种情况真是无解了,完全没有线索……所以如果出现这个问题,先确认下所拷贝dll的来源是否正确,qt程序对dll的要求是比较高的。
推荐使用一款软件Process Explorer来查询exe所依赖的dll有哪些以及具体地址在哪里,防止犯错。
在软件中进行如下设置:
之后打开Qtcreater,编译程序并运行,在Process Explorer中会出现exe的进程,鼠标选中后可在下方查看其所依赖的dll及其位置。一般在系统盘中的dll可以不管,主要看PATH位于Qt文件夹中的dll,那些有很多往往就是exe所需要的dll。
② qt5发布程序对于dll的放置也有一些要求和变化,在网上见到有人出现0xc000007b问题是因为qwindows.dll未放入。这里转发 derryzhang 的博文http://blog.csdn.net/derryzhang/article/details/17002193,讲解得非常详细。
由此,最后dll放置结构应是如此:
- --platforms
- --qwindows.dll
- --*.dll
- --accessible //Qt5.4中无此文件夹,故可忽略
- --qtaccessiblewidgets.dll//Qt5.4中无此文件,故可忽略
- --*.dll
- --plugins
- --folders
- --*.dll
- --yourApp.exe
- --Qt5Core.dll //Qt5版本
- --Qt5Gui.dll
- --Qt5Widgets.dll
- --icudt49.dll //Qt5.4中为icudt53.dll,下同
- --icuin49.dll
- --icuuc49.dll
- --libEGL.dll //此两个dll如未用到openGL应该也可不放
- --libGLESv2.dll
- --libgcc_s_sjlj-1.dll(mingw)//编译器为mingw时才需要的三个文件
- --libstdc++-6.dll(mingw)
- --libwinpthread-1.dll(mingw)
- --msvcr110.dll(msvc)//编译器为msvc时才需要的两个文件,对应所用vs的版本号
- --msvcp110.dll(msvc)
截张我的(gdal111.dll为第三方的,可忽略):
③ 在某些论坛有人称是程序中存在指针越界的情况(编译可以运行怎么会出现这个情况,不解……),如果以上方法都不能解决问题,可尝试以此为思路。
在发布程序时如果遇到其他问题可参考 江湖么名 的这篇博文:http://www.cnblogs.com/mmix2009/p/3536825.html
对其他问题也有很详细的归纳。
QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法的更多相关文章
- IIS6.0发布后对路径“D:\xxx\xxxx\web.config”的访问被拒绝问题的解决方法
原来我本机发布后还是可以直接通过浏览器访问,这几天不知道怎么就不行,终于在网上找到解决方法 IIS发布后访问xxx/xxx/web.config路径被拒绝的问题截图如下: 解决方法: 1.在本地或服务 ...
- vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法
vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_5 ...
- (转)新建maven项目时报错Error:Maven Resources Compiler: Maven project configuration required for module 'XX'解决方法
转载地址:https://blog.csdn.net/qq784515681/article/details/85070195 在新建maven项目时,Problems中报错: Error:Maven ...
- dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid 解决方法
因为 jdk 是1.8的版本,和 dubbo-admin 存在兼容性问题.所以报错: Bean property 'URIType' is not writable or has an invalid ...
- OpenCV程序在Debug时出现「PDB文件无法加载」的一个解决方法
这几天毕设要用到OpenCV,按照网上的教程来搭建开发环境. 用的是OpenCV 3.0 beta + Visual Studio Community 2013.我的系统64位是Win 8.1,但在加 ...
- error:安装手电筒程序后在打开程序后报错:你的camera flashlight正在被其他程序占据
Q:没打开权限 A:设置里面,把这个app的camera权限打开就行了
- Android JNI 编译正确 但是提示程序有错误无法运行 而且还看不到任何错误提示 的解决方法
前几篇中一直在通过Android做JNI调用,关于JNI的配置请见:http://blog.csdn.net/watkinsong/article/details/9849973 但是前一段时间就遇到 ...
- 小米手机无法打开程序报错Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication的解决办法
打开studio的setting 然后 Preferences -> Build, Execution, Deployment -> Instant Run -> Enable In ...
- python3.x执行post请求时报错“POST data should be bytes or an iterable of bytes...”的解决方法
使用python3.5.1执行post请求时,一直报错"POST data should be bytes or an iterable of bytes. It cannot be of ...
随机推荐
- HDU--2962
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2962 分析:最短路+二分. #include<iostream> #include< ...
- NYOJ--69
数的长度 原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=69 分析:先看看求n!的朴素算法,用大整数乘法来实现. #include< ...
- OpenCV---图像二值化
一:什么是二值图像 彩色图像:三个通道0-,-,-,所以可以有2^24位空间 灰度图像:一个通道0-,所以有256种颜色 二值图像:只有两种颜色,黑和白,1白色,0黑色 二:图像二值化 (一)先获取阈 ...
- 3.redis设计与实现--字典
1.包括三个结构体:字典结构体+哈希表结构体+哈希节点结构体 2.如何解决哈希冲突? 答:redis使用的是链地址法来解决哈希冲突的,每个链表节点有一个next指针,最新加入的节点会放在链表的头部. ...
- 构造+分块思想 Codeforces Round #319 (Div. 1) C
http://codeforces.com/contest/576/problem/C 题目大意: 给你一个曼哈顿距离的图,然后要求你找到一个链,链穿了所有的点 然后要求这链的长度<=25*10 ...
- 《JavaScript 实战》:实现拖放(Drag & Drop)效果
拖放效果,也叫拖拽.拖动,学名Drag-and-drop ,是最常见的js特效之一.如果忽略很多细节,实现起来很简单,但往往细节才是难点所在.这个程序的原型是在做图片切割效果的时候做出来的,那时参考了 ...
- 【洛谷 P3199】 [HNOI2009]最小圈(分数规划,Spfa)
题目链接 一开始不理解为什么不能直接用\(Tarjan\)跑出换直接求出最小值,然后想到了"简单环",恍然大悟. 二分答案,把所有边都减去\(mid\),判是否存在负环,存在就\( ...
- 【洛谷 P3690】 【模板】Link Cut Tree (动态树)
题目链接 \(RT\). FlashHu巨佬的博客 #include <cstdio> #define R register int #define I inline void #defi ...
- python3爬虫.4.下载煎蛋网妹子图
开始我学习爬虫的目标 ----> 煎蛋网 通过设置User-Agent获取网页,发现本该是图片链接的地方被一个js函数代替了 于是全局搜索到该函数 function jandan_load_im ...
- React Native DEMO for Android
Demo1: 主要知识:navigator,fecth 地址:https://github.com/hongguangKim/ReactNativeDEMO1 Demo2: 主要知识:navigato ...