無法定位程序輸入點~於動態鏈接庫上


今天在編譯項目時項目可以編譯通過,但運行是報錯 無法定位程序輸入點gdal201.dll於動態鏈接庫上.突然覺得好奇怪,后來在網上查找了一下資料。具體參看【問題解決】無法定位程序輸入點~於動態鏈接庫上(The procedure entry point ~ could not be located)。文中指出出現這種錯誤,很大可能是因為,在生成exe時所使用的lib文件的版本,和在運行exe時所調用的dll的版本不一致。后來一想這幾天配置了Qgis環境,在path中添加了Qgis相關dll環境變量,Qgis中有使用gdal201.dll。如是把Qgis相關dll環境變量去掉保存下。然后關閉visual studio再打開(記得一定要要關閉visual studio重新打開),重新運行就不再報錯了。

另外要注意下dll目錄查找順序,可能其他目錄dll與lib沖突也可能會出現同樣的問題,
可執行文件在運行時尋找和調用dll文件的路徑搜索順序。一般是:
A 可執行文件所在目錄;
B 進程當前目錄;
C 系統目錄,%SystemRoot%/system32
D 16位系統目錄;,%SystemRoot%/system
E Windows目錄,%SystemRoot%/
F 環境變量PATH中的目錄;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM