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,所以就没有问题咯。

posted @ 2020-06-22 18:51  心媛意码  阅读(655)  评论(0编辑  收藏  举报