【问题标题】:How do I solve Error 126/193 from using Loadlibrary?如何解决使用 Loadlibrary 引起的错误 126/193?
【发布时间】: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
  • 您尝试过哪些不适合您的解决方案?另外,尽量不要同时问两个问题。此外,只有一件事,使用不必要的演员表和 %dHMODULE 不好,这只是自找麻烦。确保您的代码在没有警告的情况下编译!

标签: c++ dll loadlibrary


【解决方案1】:

编辑:我能够通过使用依赖遍历器来跟踪 DLL 文件及其路径来解决这个问题。发现我缺少一些关键的 dll。将它们放置到位后修复。希望这适用于面临同样问题的每个人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-06
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 2019-12-20
    相关资源
    最近更新 更多