问题已解决
参考:
参考1:LoadLibrary无法加载.dll解决思路丨包含静态库动态库介绍,引文中含有错误代码表链接,可以对照使用
参考2:loadlibrary返回 NULL , 错误码值126丨包含对我的问题生效的解决方法
解决办法:
- 原程序
//源程序
g_hInstance = ::LoadLibrary(L"dll文件名");
//结果
g_hInstance == NULL
- 使用GetLastError()进行查错,与参考1中引文的错误代码表对照
//源程序
g_hInstance = ::LoadLibrary(L"dll文件名");
DWORD dwError = 1;
dwError = GetLastError();
//结果
dwError == 0;//操作失败 返回错误代码0 系统内存不够,可执行文件被破坏或调用非法
- 解决尝试1->使用参考2中的方法改正
//源程序
LoadLibraryEx(L"E:\\PYP_FStest\\Debug\\libDocEngine.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH);//ATTENTION!要用双斜杠 不然会被认为是转义字符!
//结果
仍然为NULL
- 解决尝试2
//将大项目Debug目录下的所有文件,而不只是直接需要的一个dll和一个lib都粘贴到Demo的Debug目录下
//成功