Dll隐式链接时的文件名问题

dkight 2007-09-24 10:32:48
建立一个MFC DLL工程A,在Project Setting--Link中设置output file name生成Adebug.lib, Adebug.dll;然后用另一个工程B隐式链接之,但是运行时提示失败:找不到Adebug.dll。
打开Adebug.lib,发现里面仍然充斥着A.dll?如果强行修改为Adebug.dll,则B工程链接失败
...全文
153 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyelf 2007-09-24
  • 打赏
  • 举报
回复
在link选项的Project Options中可以设置自定义的lib文件名:/implib:"Adebug.lib"
shanhqk 2007-09-24
  • 打赏
  • 举报
回复
先看看你的def中的LIBRARY
ouyh12345 2007-09-24
  • 打赏
  • 举报
回复
在link选项的输出里设置
dkight 2007-09-24
  • 打赏
  • 举报
回复
to ouyh12345(五岭散人):
路径没有问题
dkight 2007-09-24
  • 打赏
  • 举报
回复
明白了,thank u
那我想实现debug版本的时候生成adebug.lib/dll,release的时候生成arelease.lib/dll,怎么办?在def文件中的#ifdef会被忽略
ouyh12345 2007-09-24
  • 打赏
  • 举报
回复
首先确认是否是路径问题,把dll文件与B的执行文件(exe或dll)放在一起。
如果不是路径问题,则dll的生成方式可能会有问题。
shanhqk 2007-09-24
  • 打赏
  • 举报
回复
这个主要是LZ的def中的lib没有修改过来的原因:
在工程中的def文件中有个LIBRARY 就是LZ要到处的lib,名称应该改为"ADebug",
但是LZ没有修改,所以有问题。
dkight 2007-09-24
  • 打赏
  • 举报
回复
SORRY,说错了
失败提示是:找不到A.dll(就是原工程名.dll)
ouyh12345 2007-09-24
  • 打赏
  • 举报
回复
Adebug.lib文件里应该只是一些符号。
隐式连接包含头文件和lib文件,然后dll文件得放在搜索路径内

15,471

社区成员

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

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