如何处理BK4504警告

时间:2014-08-31 13:19:01

标签: c++ visual-studio warnings

在我的C ++项目中设置了警告级别4,我看到以下内容:

警告1警告BK4504:文件包含太多引用;忽略来自此源的进一步引用c:\ program files(x86)\ windows kits \ 8.1 \ include \ um \ mshtml.h 37492

mshtml.h 列在我项目的External Dependencies文件夹中,据我所知,它似乎是Microsoft提供的标头,是Windows 8.1 SDK的一部分。

我是一名新手程序员,我对此的研究表明,mshtml.h的问题超出了64,000的符号引用限制,此时BCSMAKE会抛出手来生成此消息。

简单地忽略此警告是否安全?我知道可以使用#pragma指令禁用特定警告但是我在哪里放置此指令?我在源文件的多个位置尝试了 #pragma warning(disable: 4504) ,但警告仍然存在。

可靠地禁用此消息的唯一方法似乎是在项目设置中关闭启用浏览信息,但我的感觉是我不应该这样做。

1 个答案:

答案 0 :(得分:11)

我的“解决方案”是关闭afxhtml.h(包括mshtml.h)的BSC生成,如下所示:

#pragma component(browser, off, references)
#include <afxhtml.h>
#pragma component(browser, on, references)

您可以在此处详细了解此#pragma:MSDN: component