49

I'm using the 'LoadLibrary' from the Windows API, when I run the application, it throws me an error code 126. I read that it may be caused by dependencies, I checked what's wrong with some applications like Dependency Walker, but everything was fine.

LoadLibrary in the application:

            HMODULE dll_mod = LoadLibrary(L"path_to_dll");
            if(dll_mod==NULL){
                std::stringstream error;
                error << "Could not load plugin located at:\n" << file_full.toStdString() << "\n" << "Error Code: " << GetLastError();
                FreeLibrary(dll_mod);
                return error.str();
            }

Plugin code:

#include "stdafx.h"
#define DLL_EXPORT
#define PLUGIN_STREAM __declspec(dllexport)
#include <iostream>
#include <vector>
using std::vector;
using std::string;
// Init event (After the loading)
extern "C"{
PLUGIN_STREAM int onInit(char* argv){
return 0;
}
PLUGIN_STREAM void pluginInfo(vector<string> & info){
info.push_back("media_event=false");
    info.push_back("status_event=false");
    info.push_back("send_event=true");
    info.push_back("plugin_name='RadioStream'");
    info.push_back("description='This plugin was designed for that people that wants to listen to radio music.\nYou can register your radio and play it later, also we have a gallery of radios that you can check.\nThis plugin is original of Volt and it's originally implemented in the application.'");
    info.push_back("success:0");
    info.push_back("error:1=Could not open data file");
    info.push_back("error:2=Could not prepare plugin");
    info.push_back("alert:40=Could not connect to that radio");
}
}
4

4 回答 4

94

Windows dll 错误 126 可能有许多根本原因。我发现调试这个的最有用的方法是:

  1. 使用依赖遍历器查找任何明显的问题(您已经完成了)
  2. 使用 Microsoft 的 sysinternals 实用程序进程监视器https://docs.microsoft.com/en-us/sysinternals/downloads/procmon在您的 dll 尝试加载时跟踪所有文件访问。使用此实用程序,您将看到该 dll 试图引入的所有内容,并且通常可以从那里确定问题。
于 2013-01-16T15:46:07.677 回答
9

当您尝试加载 DLL 并且需要另一个无法找到的 DLL 时,也会发生这种情况。

于 2020-04-07T03:40:34.127 回答
4

可能会发生此错误,因为 windows/system32 文件夹中缺少 DLL 所依赖的某些 MFC 库(例如 mfc120.dll)。

于 2017-09-19T09:10:00.123 回答
-1

这对我有用 Visual C++ Redistributable Packages

于 2020-02-07T18:23:37.430 回答