如何调用其它目录下的DLL??

darongtou 2004-11-06 06:21:32
如果我有一个DLL放在D:\DLLS\目录下,请问我应该如何在VC中设置,才能在VC IDE环境中让一个EXE工程找到该DLL?
我下午试过在TOOLS菜单下的OPERTIONS命令,在OPERTIONS对话框中的DIRECTORIES的EXECUTABLE FILES添加了该DLL所在的目录,但是不行。也试过把这个目录加入到系统PATH中去,但在IDE中运行调用这个DLL的EXE工程中,仍然提示无法找到这个DLL;而直接在浏览器中运行该EXE,却能够找到这个DLL,并能正确运行。
请教各位高手,如何设置才能在VC中运行EXE的时候,能够找到相应的DLL?
注:不能通过拷贝DLL文件到EXE目录下或者系统目录下。
...全文
274 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspvbjava 2004-11-12
  • 打赏
  • 举报
回复
设置工作目录,alt+F7 debug中
darongtou 2004-11-12
  • 打赏
  • 举报
回复
OPERTIONS对话框中的DIRECTORIES的EXECUTABLE FILES是干吗用的?

没人知道吗?
逍遥的心 2004-11-09
  • 打赏
  • 举报
回复
先读ini文件,再装载dll
greenabc 2004-11-09
  • 打赏
  • 举报
回复
如果你的工程在D:\XXX下的话,在setting 的LINK选项卡中第二个编辑框中加入

..\dlls\yourdllname.lib
darongtou 2004-11-09
  • 打赏
  • 举报
回复
我试过了,只要把DLL目录加到PATH中去,然后重新启动VC即可,不需要重启机器.

我现在想知道的是
OPERTIONS对话框中的DIRECTORIES的EXECUTABLE FILES是干吗用的?
某鸟 2004-11-08
  • 打赏
  • 举报
回复
把这个目录加入到系统PATH中去……

然后你要reboot你的机器……·
吹泡泡的小猫 2004-11-08
  • 打赏
  • 举报
回复
调整项目属性,将Dll和EXE输出到一个相同的目录中,实在不行就将dll输出到system目录中
darongtou 2004-11-08
  • 打赏
  • 举报
回复
TO dmsdr(一风):
"我来解释一下:因为在在浏览器中运行该EXE,他的运行目录是当前exe所在目录,如果lib和dll在exe所在的目录,当然可以找到!"

我的DLL不是放在EXE所在的目录的,是放在另外的目录下.

"不好意思,忘记说明另外一点了,加入到系统PATH中去,在IDE中运行该EXE,却提示无法找到这个DLL,可能还需要重新启动一次.net或者vc6,因为启动时他们会加载系统的path目录,但是启动后再修改path就不起作用了:)"
可能是这个原因,回头我再试一下.

还有:
为什么在OPERTIONS对话框中的DIRECTORIES的EXECUTABLE FILES添加了该DLL所在的目录,EXE无法找到该DLL?
IT七仔 2004-11-07
  • 打赏
  • 举报
回复
不好意思,忘记说明另外一点了,加入到系统PATH中去,在IDE中运行该EXE,却提示无法找到这个DLL,可能还需要重新启动一次.net或者vc6,因为启动时他们会加载系统的path目录,但是启动后再修改path就不起作用了:)


IT七仔 2004-11-07
  • 打赏
  • 举报
回复
还有个问题有点想不通:
通过把这个目录加入到系统PATH中去,在浏览器中运行该EXE,却能够找到这个DLL,并能正确运行。为什么在IDE中运行该EXE,却提示无法找到这个DLL.

谁能解释一下?

我来解释一下:因为在在浏览器中运行该EXE,他的运行目录是当前exe所在目录,如果lib和dll在exe所在的目录,当然可以找到!
但是在IDE中运行该EXE,他的运行目录是工程文件所在的目录,也就是一般的debug的上层目录,所以就找不到dll了:)呵呵,这个是个很有意思的现象

我曾今用VC写了个dll,用java来调用,结果发现在cmd命令中找不到dll需要操作的文件!!原来cmd运行目录在system32目录下,而dll需要的文件在dll目录下,搞了很长时间才明白!

linxy2002 2004-11-07
  • 打赏
  • 举报
回复
楼主RPWT了,呵呵
darongtou 2004-11-06
  • 打赏
  • 举报
回复
还有个问题有点想不通:
通过把这个目录加入到系统PATH中去,在浏览器中运行该EXE,却能够找到这个DLL,并能正确运行。为什么在IDE中运行该EXE,却提示无法找到这个DLL.

谁能解释一下?
fisker0303 2004-11-06
  • 打赏
  • 举报
回复
同步开发的,应该是导入.lib吧?
IT七仔 2004-11-06
  • 打赏
  • 举报
回复
晕,不用LoadLibrary()用什么?
darongtou 2004-11-06
  • 打赏
  • 举报
回复
就没有其它方法了??
主要目的是因为EXE和DLL是同步开发的,也就是说DLL会随时更新,EXE也不断更新.程序里并不想用LoadLibrary()来动态装载DLL.
oyljerry 2004-11-06
  • 打赏
  • 举报
回复
LoadLibrary()里面填绝对路径
property1 2004-11-06
  • 打赏
  • 举报
回复
LoadLibrary (完整路径)

15,471

社区成员

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

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