原文链接地址:http://blog.csdn.net/clever101/article/details/5898073#comments

        重命名了一个MFC常规DLL的工程文件(VS C++ 2005编译环境),结果在编译时出现这样的警告:1>B.exp : warning LNK4070: .EXP 中的 /OUT:A.dll 指令与输出文件名"../outdir/Debug/B.dll"不同;忽略指令(这里假设原来的工程文件名叫A.vcproj,改名后叫B.vcproj)。后来我发现虽然输出为B.dll,但是对应的静态库B.lib被其它工程以隐式链接的方式调用时,使用的还是A.dll(这个可以使用Dependcies工具来查看),这样导致往往其它动态库不能加载成功(因为)。这下我不能把它仅仅当做warning而弃之不管了,于是上网查资料解决这个warning。查完资料,再结合自己的思考,大致明白了造成warning的原因。原来是虽然我修改了工程名,但是没有修改这个工程的def文件中LIBRARY字段的值,造成工程的输出文件和def文件的LIBRARY字段的值不一样。比如我把A.vcproj修改为B.vcproj,但在def文件还是LIBRARY "A"。这时只需将def文件中的LIBRARY字段修改为:LIBRARY "B"。这样就能完全消除这个警告。而被别的库以隐式链接调用也是以B.dll面目出现的。

2015年9月1日15:30:53 BHC

最新文章

  1. 写自己的Socket框架(一)
  2. JAVA学习笔记之与C#对比
  3. 【HDU1257】最少拦截系统(贪心)
  4. db2 常用命令
  5. Java基础知识系列——String
  6. XCODE真机调试设备连接一直忙碌如何处理
  7. 《OS X Mountain Lion》 读书杂记
  8. struts+hibernate 请求数据库增删改查(小项目实例)
  9. 浅谈DevExpress<四>:TreeList中的拖拽功能
  10. linux 中c/c++实现终端命令行命令
  11. 【Java】java 中的泛型通配符——从“偷偷地”地改变集合元素说起
  12. [再寄小读者之数学篇](2014-10-18 利用 Lagrange 中值定理求极限)
  13. http超文本协议
  14. 【演示】在CSS里用calc进行计算
  15. OKHttp使用详解
  16. 为linux dns (bind named)服务器配置 单独的笔记
  17. eclipse 使用Maven deploy命令部署构建到Nexus
  18. 第三周 构造一个简单的Linux系统MenuOS
  19. React-Native项目中使用Redux
  20. webpack插件html-webpack-plugin

热门文章

  1. PHP创建MySQL并引入后执行sql语句
  2. PHP学习课程和培训方向学习路线分享
  3. ERROR: bootstrap checks failed
  4. JavaSE 第二次学习随笔(二)
  5. Spark 推送数据至 elasticsearch
  6. html中显示指数、底数
  7. python基础之socket套接字基础part2
  8. 1394-Minimum Inversion Number
  9. Android Studio引入AAR文件
  10. Sqlite Datetime类型详解