为什么我用VS2015编译的DLL,在有的电脑上能用LoadLibraryA加载成功,有的电脑上不行?
编译的配置选项是Release,平台是X64,
我在32位和64位电脑都运行过,能正常加载,但是在一小部分64位电脑上不能加载,这是什么原因?
没安装vc2015-2022运行库x86和x64?
LoadLibrary无法加载DLL解决思路
(1)检查dll的路径是否正确。
(2)检查LoadLibrary输入参数字符格式是否正确
提供参考链接,期望对你有所帮助:http://t.zoukankan.com/15157737693zsp-p-4179438.html
当加载失败时,调用GetLastError函数获取错误信息,有助于你排查为什么加载失败
https://learn.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibrarya
可能是因为你生成的DLL依赖vs的c运行库,所以有的电脑可以加载有的电脑不能加载。
设置成静态链接,再重新编译个不依赖c运行库的版本,设置方法:
右键项目->属性->C/C++->代码生成->运行库->多线程(/MT)
MTd改成MT
检查dll的路径是否正确。