无法加载64位DLL

时间:2014-07-07 06:30:34

标签: c++ windows dll

我正在使用" LoadLibraryA()"加载我的DLL。这是加载我使用的dll的代码 -

std::string m_sDllRegPath = "F:\\Releases\\SampleApp\\MyDll.dll";
m_hDll = LoadLibraryA(m_sDllRegPath.c_str());

但问题是m_hDll的值总是为null,这意味着它无法加载dll。致GetLastError的电话会返回126。

但是相同的代码适用于32位系统。我不知道问题出在哪里。

1 个答案:

答案 0 :(得分:3)

错误代码126为ERROR_MOD_NOT_FOUND

  

找不到指定的模块。

如果确实存在具有您提供的文件名的DLL,则说明缺少DLL的某个依赖项。几乎总是这是因为DLL不需要C ++运行时。检查DLL的要求,并确保正确安装所有必需的依赖项。