请教高手:VC中加载MinGW生成的Dll总是失败?

fuyulin888fly 2007-04-07 11:39:13
HINSTANCE hdll;
hdll=::LoadLibrary("C:\\windows\\daemon.dll");
hdll=::LoadLibrary("libmsn.dll");
第一个调用是windows下自带的dll,还回值hdll非NULL(即正常);
第二个调用是gaim下的dll,还回值hdll始终是NULL(异常),不管用绝对还是相对路径,也试过AfxLoadLibrary也是同样结果。下面是libmsn.dll前面的一点信息:

00000000h: 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 ; MZ?..........
00000010h: B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ; ?......@.......
00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 ; ............€...
00000040h: 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68 ; ..?.???L?Th
00000050h: 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F ; is program canno
00000060h: 74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20 ; t be run in DOS
00000070h: 6D 6F 64 65 2E 0D 0D 0A 24 00 00 00 00 00 00 00 ; mode....$.......
00000080h: 50 45 00 00 4C 01 07 00 57 D6 B0 45 00 0C 02 00 ; PE..L...W职E....
00000090h: 13 01 00 00 E0 00 06 23 0B 01 02 38 00 74 01 00 ; ....?.#...8.t..
000000a0h: 00 08 02 00 00 32 00 00 00 10 00 00 00 10 00 00 ; .....2..........
000000b0h: 00 90 01 00 00 00 58 6A 00 10 00 00 00 02 00 00 ; .?...Xj........
000000c0h: 04 00 00 00 01 00 00 00 04 00 00 00 00 00 00 00 ; ................
000000d0h: 00 A0 02 00 00 04 00 00 E9 85 02 00 03 00 00 00 ; .?.....閰......
000000e0h: 00 00 20 00 00 10 00 00 00 00 10 00 00 10 00 00 ; .. .............
000000f0h: 00 00 00 00 10 00 00 00 00 40 02 00 4E 00 00 00 ; .........@..N...
00000100h: 00 50 02 00 20 25 00 00 00 00 00 00 00 00 00 00 ; .P.. %..........
00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
00000120h: 00 80 02 00 A0 13 00 00 00 00 00 00 00 00 00 00 ; .€..?..........
...全文
434 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuyulin888fly 2007-04-10
  • 打赏
  • 举报
回复
LoadLibrary 的错误代码是126.像下面这样就dll加载没有问题了,但是调用dll里的函数出现Unhandled exception: 0xC0000005 : Access violation:
代码如下:
typedef gboolean (*PFun)(GaimPlugin *plugin);

HMODULE hdll;
hdll=::LoadLibraryEx("libmsn.dll", NULL, 1);
PFun gaim_init_plugin;
gaim_init_plugin = (PFun)GetProcAddress(hdll,"gaim_init_plugin");
GaimPlugin gmPluginGaim;

gaim_init_plugin(&gmPluginGaim); //在此处产生异常
DentistryDoctor 2007-04-09
  • 打赏
  • 举报
回复
你看一下错误代码是多少?
fuyulin888fly 2007-04-09
  • 打赏
  • 举报
回复
尝试了LoadLibraryEx好像就可以了,为什么?
  • 打赏
  • 举报
回复
先GetLastError看看什么错误

libmsn.dll这个dll是否依赖其他dll?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧