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有多個版本,發生衝突.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章