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中。
搞定。


还有一种: 转自 http://blog.sina.com.cn/s/blog_670fb2a80100hiwb.html

问题:

双击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有多个版本,发生冲突.



你可能感兴趣的:(其他项目)