用QT做的软件,debug版本正常,但是Release版本就死掉了,会是什么原因?

两个软件的代码完全相同,环境也完全相同... 两个软件的代码完全相同,环境也完全相同 展开
 我来答
户丹绳庆生
2019-08-12 · TA获得超过3741个赞
知道大有可为答主
回答量:3045
采纳率:33%
帮助的人:218万
展开全部
应该是相关的动态库(Qt*.dll)存在多个版本引起的,
QT4在不同版本发布的动态库的文件名都是一样的,
比如4.1.4和4.4.3的都是QtCore4.dll,
但实际的版本不一样会出现这样的问题.如果Debug版本的程序运行没有问题,
也就说明Debug版本的动态库没有上述的版本冲突的问题,
而是Release版本的动态库存在着版本冲突.
这是因为绝大部分软件发布时只带着release版本的程序,
而不会发布debug版本的程序.最好的办法是搜索一下硬盘内有多少目录下有qt的动态库
最有可能的问题是,你本机的的其他程序用到了其他版本的qt,并将含有qt动态包的路径设置在系统的path环境变量中,debug和release时寻找qt动态包的目录遍历顺序不一致,所以debug时调用你想要的qt动态包,而release程序执行时加载了别的版本的qt动态包,建议在系统内搜一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式