C C++ 调用第三方DLL库失败 LoadLibrary 返回NULL 并报 126 错误 解决办法

时间:2024-04-03 07:58:02

在之前有写关于生成dll文件以及调用dll的方法:https://blog.csdn.net/Hilaph/article/details/104917856

而在vs2019新开一个项目并运行调用相关第三方dll时,出现LoadLibrary返回值判断为NULL,使用DWORD a = GetLastError();查看错误代码为126.这个报错一般都是因为找不到dll文件所导致的

在网上查阅资料一般为以下几种情况:

(1).看给loadlibrary传的dll路径是否正确

(2).dll关联的其他dll文件是否一起发布,可用depends工具查看dll文件关联的其他dll文件

(3).传递的dll文件名是char[]类型的,这是类型不兼容的错误

在排除前两个错误后,判定是第三种状况,以为LoadLibrary内的字符串下有提示“语意不同的字符串类型之间的强制转换 char * wchar_t*”。

解决办法:C C++ 调用第三方DLL库失败 LoadLibrary 返回NULL 并报 126 错误 解决办法

字符集要改为“使用多字节字符集”,重开项目,问题解决。