【发布时间】:2021-05-29 06:41:37
【问题描述】:
我正在开发一个使用来自 https://github.com/hypersen/HPS3D_SDK 的 SDK 的项目
但我在加载 DLL 文件时遇到问题,它在使用“libhps3d64.dll”时返回“libhps3d32.dll”错误 126 和错误 193。我看过很多关于这两个错误的帖子,但到目前为止,没有一个解决方案对我有用。请帮忙!
dll 文件与 exe 文件的位置相同。我也试过禁用我的防病毒软件,没有帮助。
printf("Hello world!\n");
/*LoadLibrary */
HMODULE module = LoadLibraryA((LPCSTR)"C:\\Users\\xx\\Desktop\\xx\\libhps3d32.dll");
//printf("module loaded %d)",module);
if (module == NULL)
{
DWORD error_id = GetLastError();
printf("error load %d\n",error_id);
return;
}
【问题讨论】:
-
错误 126 和 193 在 printf 之后可能不正确。在 LoadLibrary 调用后立即存储错误代码。
-
查看Visual Studio调试器的调试输出。你会在那里看到哪些 dll 无法加载。
-
@S.M.我更改了评论1。查看vscode中的调试器,它仍然返回错误126
-
您尝试过哪些不适合您的解决方案?另外,尽量不要同时问两个问题。此外,只有一件事,使用不必要的演员表和
%d为HMODULE不好,这只是自找麻烦。确保您的代码在没有警告的情况下编译!
标签: c++ dll loadlibrary