VS C++ LoadLibrary 总是 returns null
VS C++ LoadLibrary always returns null
VS2015 mfc 项目。
正在尝试加载 QT5Widgets.dll
CString sPath("M:\ParseDLL\Qt5Widgets.dll");
HMODULE hm = LoadLibrary(sPath);
hm 始终为空。我尝试更改字符集(unicode,multy bite),在路径文本前使用_T,L,将win 32更改为64。仍然没有。 GetlastErorr 代码 126 告诉 "The specified module could not be found"。 Dll 就在这个路径上。有什么想法吗?
Tt 看起来像缺少 DLL。
如果 M:\ParseDLL\Qt5Widgets.dll
确实存在,则意味着您缺少 Qt5Widgets 所需的 DLL 之一(或 Qt5Widgets 所需的 DLL 所需的 DLL 等等)。
正如@Bathsheba 所说,使用依赖查看器工具可以帮助您找到有罪的 DLL。
快速清单
- 您需要在同一个文件夹(或在您的 PATH 中)至少 Qt5Core.dll 和 Qt5Gui.dll 并确保
- 为您的软件使用与用于构建 Qt 的编译器相同的编译器(版本和体系结构)
- 如果您正在调试中构建软件,您可能还想使用 Qt DLL 的调试版本(Qt5Widgetsd.dll,等等)。
VS2015 mfc 项目。 正在尝试加载 QT5Widgets.dll
CString sPath("M:\ParseDLL\Qt5Widgets.dll");
HMODULE hm = LoadLibrary(sPath);
hm 始终为空。我尝试更改字符集(unicode,multy bite),在路径文本前使用_T,L,将win 32更改为64。仍然没有。 GetlastErorr 代码 126 告诉 "The specified module could not be found"。 Dll 就在这个路径上。有什么想法吗?
Tt 看起来像缺少 DLL。
如果 M:\ParseDLL\Qt5Widgets.dll
确实存在,则意味着您缺少 Qt5Widgets 所需的 DLL 之一(或 Qt5Widgets 所需的 DLL 所需的 DLL 等等)。
正如@Bathsheba 所说,使用依赖查看器工具可以帮助您找到有罪的 DLL。
快速清单
- 您需要在同一个文件夹(或在您的 PATH 中)至少 Qt5Core.dll 和 Qt5Gui.dll 并确保
- 为您的软件使用与用于构建 Qt 的编译器相同的编译器(版本和体系结构)
- 如果您正在调试中构建软件,您可能还想使用 Qt DLL 的调试版本(Qt5Widgetsd.dll,等等)。