HINSTANCE hinstLib=LoadLibrary("C:\\mydll.dll");
我不知道为什么在运行该行代码后我总是得到0
。
实际上我还有另一个COM dll,即mydllCOM.dll
,我已经使用regsvr32
命令成功注册了。我想在我的应用程序中使用上面的(mydll.dll)
,但总是在提到的行中失败。
我从GetLastError is 193
获得的错误代码,我不知道,为什么它是关于错误类型的dll
答案 0 :(得分:11)
错误代码看起来像是“错误的位”,这意味着您可能正在混合使用32位和64位可执行文件/ DLL。项目属性“Linker-> Advanced-> Target Machine”中的设置应设置为DLL中的相同值以及加载该DLL的可执行文件中的值。
答案 1 :(得分:3)
我有一个类似的问题,但有一个dll不是我的。 解决方案是更改字符集(即项目属性 - >配置属性 - >常规 - >字符集)。 默认为unicode,当我将其更改为multi-Byte时,我设法加载了dll。
答案 2 :(得分:0)
您无法将32位DLL加载到64位应用程序中,反之亦然。
您需要使用相同的Application
设置重新编译Dll
和Linker->Advanced->Target Machine
。