QT程序发布的一个问题:无法定位程序输入点与动态链接库QtCore4.dll

QT程序发布的一个问题与解决方案

 

双击release下的exe文件报错,无法定位程序输入点与动态链接库QtCore4.dll上,

而debug下没问题.将release下的exe文件拷到qt的bin目录下,再双击就没问题了

 

原因与解决方案:

编译时用的dll不是QT/bin中的dll,而用得是QT/qt/bin中的QtCore4.dll,Qtgui4.dll和mingwm10.dll,把QT/qt/bin中的这三个Dll拷入release中,问题就解决了.


另一种办法: 转自http://blog.163.com/dongjuan_1112/blog/static/546829832011213111556/


最后发现了通过环境变量,可以一劳永逸的方法。
QT安装以后,系统环境变量Path有两条:F:\Qt\2010.05\mingw\bin;F:\Qt\2010.05 \bin;
因为编译时用的dll不是QT/bin中的dll,而用得是QT/qt/bin中的QtCore4.dll,Qtgui4.dll和mingwm10.dll,因此需要将这两条环境变量改为F:\Qt\2010.05\mingw\bin;F:\Qt\2010.05 \qt\bin;
同时将两条添加到用户环境变量Path中。
搞定。



问题:

双击release下的exe文件报错,无法定位程序输入点与动态链接库QtCore4.dll上,而debug下没问题 将release下的exe文件拷到qt的bin目录下,再双击就没问题了.

 

我的回复:

我也出现了这个问题.
原因很有可能是你环境变量中的系统变量PATH设置问题.
我开始安装QT没有出现这个问题,用了一段时间就出现罗.
觉得是 QtCore4.dll 链接错误,意思是说 release下的可执行程序链接的QtCore4.dll不是QT安装目录下的/bin中的QtCore4.dll.
后来一查找,发现最近安装的CTEX软件中也有QtCore4.dll,找到原因了.
所以,把qt下的库路径添加到我CTEX库路径之前,就解决问题啦.

 

这是一种典型的动态库连接错误问题.动态链接库QtCore.dll有多个版本,发生冲突.



  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值