为什么会有警告???

番茄家 2002-02-15 10:36:38
我使用MFC向导创建了一个基于对话框的程序,并没有修改任何东西,在Debug方式下编译没有什么问题,在Release方式下编译就出现了以下警告信息:
--------------------Configuration: 00000000 - Win32 Release--------------------
Linking...
LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF
LINK : warning LNK4089: all references to "comdlg32.dll" discarded by /OPT:REF

00000000.exe - 0 error(s), 2 warning(s)
请问这是为什么?如何消除它?
...全文
64 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
NowCan 2002-02-23
  • 打赏
  • 举报
回复
加在include的后面,另起一行。

#include
#include

#pragma comment(linker, "OPT/NOREF")
番茄家 2002-02-23
  • 打赏
  • 举报
回复
楼上的兄台:把这句话加在什么地方呀?
strip 2002-02-23
  • 打赏
  • 举报
回复
1. 这句话可以忽略,它是告诉你,优化的时候发现你根本没有用到SHELL32.lib和comdlg32.lib,所以优化的时候把和shell32.dll和comdlg32.dll的引用关系去掉了
2. 设置你的release连接开关:
Project -> Settings -> Link

添加link参数:
/ignore:4089


注:
如果你用了mfc,mfc会自动加入好多连接库,即.lib文件,比如:
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
#pragma comment(lib, "comdlg32.lib")
#pragma comment(lib, "winspool.lib")
#pragma comment(lib, "advapi32.lib")
#pragma comment(lib, "shell32.lib")
#pragma comment(lib, "comctl32.lib")

以上全部来自afx.h
番茄家 2002-02-23
  • 打赏
  • 举报
回复
按楼上这位兄台所说的,似乎并不能解决问题。

不过,经过反复试验,我发现了问题的来源!

先使用Debug方式进行编译之后,再使用Release方式就会出现这种警告。如果一开始就使用Release方式进行编译,就不会出现这种问题。

关于本问题的解决方法,请大家继续参加讨论!
code_cold 2002-02-22
  • 打赏
  • 举报
回复
Use :
#pragma comment(linker, "OPT/NOREF")
番茄家 2002-02-22
  • 打赏
  • 举报
回复
给我一个面子,大家交流交流嘛!!!
番茄家 2002-02-20
  • 打赏
  • 举报
回复
不理它是可以,但是总是觉得它不好看!而且我认为即然大家都在用这个VC,为什么只有我遇到了这个问题呢?
NowCan 2002-02-19
  • 打赏
  • 举报
回复
Release时将一些不必要的库给丢弃了。不用理它。这些都是编译器的优化。
番茄家 2002-02-19
  • 打赏
  • 举报
回复
我装的是英文企业版(盗版的只有这一种)!
pzone 2002-02-15
  • 打赏
  • 举报
回复
好象是指你用的静态链接库是DEBUG版本的。看看你的Release的编译设置
番茄家 2002-02-15
  • 打赏
  • 举报
回复
难道这种情况只发生在我一个人身上吗?你们从来没有遇到过吗?
pzone 2002-02-15
  • 打赏
  • 举报
回复
主要是连接的静态库是不同的一般D结尾的是DEBUG版本的
番茄家 2002-02-15
  • 打赏
  • 举报
回复
我还想补充说明一点:虽然编译时出现了警告提示,但是得到的程序是可以正常运行的。
番茄家 2002-02-15
  • 打赏
  • 举报
回复
有很多不同,要改成一样的吗?那不就回到Debug方式了吗?
zhang1000 2002-02-15
  • 打赏
  • 举报
回复
看看project setting的link选项设置与debug时有何不同.
番茄家 2002-02-15
  • 打赏
  • 举报
回复
怎么改才能完全正确?
番茄家 2002-02-15
  • 打赏
  • 举报
回复
楼上的兄弟,能不能说的详细一点?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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