天天看點

dll路徑加載順序

1.應用程式目前目錄

2.SetDllDirctory中設定的目錄

3.window系統目錄

4.環境變量中設定的路徑(相當于保底的)。

工作中使用Qt遇到一個問題,報錯“無法定位程式輸入點xxx 于Qt5Core.dll上”。後來确定原因是運作目錄(Release)下的dll檔案版本和exe對應不上(dll是qt5.6.0的,從别人那裡拷來的,而exe是qt5.6.3中生成的,又恰好遇到這兩個版本不太相容,導緻exe無法正确調用dll,這麼近的版本不能相容,讓人意想不到啊)

而debug檔案夾中卻沒有遇到這樣的問題,因為将qt的bin運作目錄配置到環境變量中了,debug下exe程式時運作會去找d結尾的dll檔案,因為前面三個沒有找到,會在第4個位置中找到,且exe和dll都是5.6.3,是以就沒有問題咯。

繼續閱讀