有关VC6动态库的问题

jerry_zz 2003-10-08 09:59:15
在VC6中创建一个MFC AppWizard(DLL),选择Regular DLL using
shared MFC DLL方式,假设工程名为Test,缺省情况下在Debug和
Release方式下生成的lib和dll分别为Test.lib和Test.dll,如果想
把Debug方式下生成的lib和dll分别改为Testd.lib和Testd.dll,
则会在连接时输出LNK4070号警告,警号全文如下:
“.EXP 中的 /OUT:filename 指令与输出文件名“filename”不
同;忽略指令。
创建 .exp 文件时在 NAME 或 LIBRARY 语句中指定的 filename 不
同于默认情况下假定的或用 /out 选项指定的输出 filename。
使用结果 DLL 的客户程序可能会遇到问题。”
虽然生成的lib和dll分别变为Testd.lib和Testd.dll,但如果将
Testd.lib和Testd.dll连接到一个应用程序中,应用程序还会提示
需要Test.dll。不知该如果设置才能实现?
另外,如CJ609界面库和BCG界面库中都能实现该方法,看它的设置
也没特别之处!对它们进行编译连接也没提示LNK4070号警告,使用
不同类型的动态库时一切正常。
...全文
25 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
awant2k 2003-10-09
  • 打赏
  • 举报
回复
把 该 Project 的 那个 .DEF 文件中的 library 行注释掉
cxf1976 2003-10-09
  • 打赏
  • 举报
回复
莫名其妙,可能哪个地方没有设对。
lop5712 2003-10-09
  • 打赏
  • 举报
回复
大概是由于VC的优化之故:生成时,VC不会每个文件都生成,只生成修改过的文件,以此提高生成速度。可能.exp是原来生成的,所以不匹配,产生错误。只需"Rebuild All"即可(如果是由于上面的原因)
flyelf 2003-10-08
  • 打赏
  • 举报
回复
只要在工程的设置中设置好了,应该没有这个问题阿

15,471

社区成员

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

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