返回信息流VS2005下编写的MFC的DLL(在共享的DLL中使用MFC模式),能通过编译生成.DLL和.LIB,但是放到原先一个用来测试DLL的.exe程序中却显示不能加载
HINSTANCE hDll;
hDll = LoadLibrary("test.dll");
if (NULL==hDll)
{
MessageBox("DLL加载失败");
}
以上是加载部分用来检测错误的代码,每次都弹出加载失败。这个程序是VC6上写的,成功调用过别的DLL,应该不是问题。
想想这个觉得很诡异,既然系统成功生成了DLL,怎么能出现加载失败的问题。母鸡下蛋,说是坏蛋也就忍了,这等于说下的不是蛋,晕了。各位有人碰到过这个情况么?
呃,搞笑了,跟踪了下错误,发现是编写的DLL本身调用了另一个DLL的原因,把两个DLL都扔进去就OK了。看来蛋还是蛋,VS还是很赞的,呵呵。
这是一条镜像帖。来源:北邮人论坛 / cpp / #20505同步于 2009/3/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
dll的编写问题--能过编译生成DLL,但是却不能被成功加载【问题
thdz
2009/3/21镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
看看MSDN的例子吧
后面的比喻很生动
【 在 thdz 的大作中提到: 】
: VS2005下编写的MFC的DLL(在共享的DLL中使用MFC模式),能通过编译生成.DLL和.LIB,但是放到原先一个用来测试DLL的.exe程序中却显示不能加载
: HINSTANCE hDll;
: hDll = LoadLibrary("test.dll");
: ...................