用LoadLibrary加载dll,如果安装了vc则能成功,如果没有安装vc则加载失败,请高手指点

zhangzhiguo4972 2005-09-30 03:32:47
加载代码如下:
hLibrary=::LoadLibrary((LPCTSTR)"a.dll");
if ( hLibrary == NULL )
{
::AfxMessageBox加载失败!");
return FALSE;
}

我已经将dll放在exe的目录下。
我将路径固定,如“D:\\a.dll”也不行。
郁闷呀,高手快来呀。
...全文
207 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenzhong0751 2005-10-06
  • 打赏
  • 举报
回复
是用了MFC类库吧
qrlvls 2005-10-06
  • 打赏
  • 举报
回复
可能 a.dll 中引用了其它的第三方dll并且不位于默认搜索路径下
oyljerry 2005-10-04
  • 打赏
  • 举报
回复
用静态库,版本等要一致
sevencat 2005-10-04
  • 打赏
  • 举报
回复
假如猜得没错,他用了C++的东东,链接到了msvcp60.dll上去了。再不然就是DEBUG版本。
lianglp 2005-10-01
  • 打赏
  • 举报
回复
少了支持库(.dll),一般来说,像楼上所说的,可能用了debug版本的DLL。
HoneyPot 2005-10-01
  • 打赏
  • 举报
回复
用静态库生成
forover 2005-10-01
  • 打赏
  • 举报
回复
dll改成静态链接的就可以了,或者把依赖的dll找出来加到未安装VC
周江涛 2005-10-01
  • 打赏
  • 举报
回复
build release
phoenix96_2000 2005-09-30
  • 打赏
  • 举报
回复

用depends看看有哪些依赖的dll
vrace 2005-09-30
  • 打赏
  • 举报
回复
如果用了 MFC,
把它改成
Use static MFC libraries
iamshuke 2005-09-30
  • 打赏
  • 举报
回复
在资源管理器中和右键菜单结合的,很好用。
iamshuke 2005-09-30
  • 打赏
  • 举报
回复
你那个DLL是Debug版的,或者是UNICODE版的?
推荐你一个好工具,http://www.silurian.com/win32/inspect.htm
能够看到DLL/EXE引用的其它模块,自己导出的函数,也能TestLoad,试试看能不能加载。
booklove 2005-09-30
  • 打赏
  • 举报
回复
你的dll用到vc的特殊库了把
DentistryDoctor 2005-09-30
  • 打赏
  • 举报
回复
你的DLL是不是还依赖其它VC的DLL?
MITSMI 2005-09-30
  • 打赏
  • 举报
回复
你那个dll不适release版的吧

15,471

社区成员

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

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