最近由于项目需要,要做一些界面方面的内容。于是安装了QT,选择了最新的QT版本,安装在我的超牛逼小新上,刚准备起飞,跑官方DEMO的时候发现,编译完成后无法运行。
Starting E:\Qt\Qt5.9.3\Examples\Qt-5.9.3\quickcontrols2\gallery\debug\gallery.exe…
程序异常结束。
The process was ended forcefully.
截图如下
那第一时间肯定是上网找找有没有类似的现象,还真让我找到了参考
https://blog.csdn.net/yellow_hill/article/details/78661963
但是悲剧的是我按照该帖子排查后还是不能解决问题
既然是运行时候出的故障,那么一定是环境变量咯
于是去检查QT的相关设置,发现在QT项目的RUN设置下可以选用三种环境变量,默认的是Build,但是在Build的PATH中只添加了mingw下的lib,也没有bin和tool相关的配置
于是机智如我,将RUN的环境变量设置为SYSTEM,并且在SYSTEM下添加了对应的设置。
E:\Qt\Qt5.9.3\5.9.3\mingw53_32\bin;E:\Qt\Qt5.9.3\Tools\mingw530_32\bin;E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib;
修改完成之后满心欢心去运行,WTF,还是提示程序异常结束。
我能怎么办?我也很绝望啊,但是不是已经编译完成了么?所以去编译完的目录下双击EXE,发现如下提示缺少libstdc+±6.dll文件。可是这个dll是在E:\Qt\Qt5.9.3\Tools\mingw530_32\bin下已经存在的。我也已经将该路径设置到环境变量下啊?
思来想去,突然bingo一下,会不会是系统环境下已有的同名dll导致使用错了呢?
于是到系统路径下WINDOS/SYS64WOW下发现果然有一个同名的dll,对比了qt中的libstdc+±6.dll和系统目录下的libstdc+±6.dll,发现QT下的大小为1.5M左右,而系统下的为500K左右,明显QT下的libstdc+±6.dll版本比较高,于是替换系统目录下的dll之后一切顺利(注意,替换之前请将系统下的dll备份,我可不能保证你的系统中有哪些应用要用到老版本的libstdc,万一有问题还可以恢复回来)。可以正常运行,QT界面开发之旅开始起飞!
WIN7/10下安装完QT运行官方示例能够完成编译,但是运行时出错问题排查
最新推荐文章于 2024-07-16 20:32:08 发布