warning LNK4070的解决办法

       原文链接地址: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

时间: 2024-10-07 19:21:29

warning LNK4070的解决办法的相关文章

QtCreator (Visual C++ 编译器)编译时提示 warning C4819 的解决办法

用 QtCreator + Visual C++ 编译器 编译程序时经常会出现类似的警告. warning C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失 这个警告我们可以忽略,但是编译大一点的项目时经常会提示几十个这样的警告,也挺烦人的. 其实解决办法也很简单,将我们的代码保存为 utf-8 带 BOM 格式的文件就可以了.QtCreator 保存文件默认是 utf-8 格式的,但是不带 BOM. 我们可以修改一下设置,让它

perl:warning:Setting locale failed解决办法

perl:warning:Setting locale failed解决办法: $ sudo vi /etc/profile 按a或i进入编辑模式 export LC_ALL=en_US.UTF-8export LANGUAGE=en_US.UTF-8 按Esc键退出编辑模式 :wq (保存并退出) $ source /etc/profile perl:warning:Setting locale failed解决办法,布布扣,bubuko.com

运行VS出现warning C4996错误的解决办法

运行VS出现warning C4996错误, warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 解决办法:打开stdafx.h头文件,在include之前添加 #define _CRT_SECURE_NO_DEPRECATE

spring 以Ant Build方式运行build.xml文件,报warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 的解决办法

Buildfile: F:\experience\spring_pdf\sourcecode\example1\build.xml compile: [javac] F:\experience\spring_pdf\sourcecode\example1\build.xml:25: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable

dpkg: warning: files list file for package `*****' missing, assuming package has no files currently installed解决办法

一个好友的国外VPS由于操作不当,结果装软件的时候总是提示dpkg: warning: files list file for package `*****' missing, assuming package has no files currently installed,导致无法安装任何软件,结果百度+Google了好多教程,最后找到的解决办法如下: #!/bin/bash set -e # Clean out /var/cache/apt/archives apt-get clean #

Linux SSH 远程登录错误及解决办法 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

[问题] [[email protected]_EXERCISE mnt]# scp [email protected]:/etc/profile.d/motd1.sh /etc/profile.d/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

zencart后台管理中选项名称和选项内容和属性控制页面出错解决办法 WARNING: An Error occurred, please refresh the page and try again

后台管理中选项名称和选项内容和属性控制出现以下错误的解决办法WARNING: An Error occurred, please refresh the page and try again zen cart v1.5.1 的一个bug,重新下载更新的zencart安装包,然后取出以下三个文件替换:admin/attributes_controller.phpadmin/option_names_manager.phpadmin/option_values_manager.php 或者手工修复如

ELK 学习笔记之 elasticsearch启动时Warning解决办法

elasticsearch启动时Warning解决办法: 转载:http://www.dajiangtai.com/community/18136.do?origin=csdn-geek&dt=1214 问题一: [2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: Java.lang.UnsupportedOperationException: seccomp unavaila

Docker [Warning] IPv4 forwarding is disabled解决办法

在创建一个dockerfile,执行yum 安装时报出如下错误, Step 3/8 : RUN yum install httpd -y ---> [Warning] IPv4 forwarding is disabled. Networking will not work. ---> Running in 9b62fa0252b1 解决办法 1.编辑 vim /etc/sysctl.conf配置文件,在最后面添加net.ipv4.ip_forward=1 2.重启网络服务service ne