我想加载一个像这样的DLL:
dll_handle = LoadLibraryA(QString("%1\\module.dll")
.arg(QApplication::applicationDirPath().replace("/", "\\"))
.toLocal8Bit().data());
Run Code Online (Sandbox Code Playgroud)
我传递给LoadLibraryA的结果文件名是正确的,该文件存在并且可由进程读取.问题是什么?
GetLastError报告126,即ERROR_MOD_NOT_FOUND.显然无法找到模块.
这有两个明显的原因:
我建议在配置文件模式下使用Dependency Walker进行调试.这将在运行时监控您的应用程序,并准确地告诉您哪个模块无法找到.
最后,在这个时代,你真的应该选择LoadLibraryW.