2014-08-31 410 views
5

随着我的C++项目中,我看到的警告级别4设置如下:如何处理BK4504警告

警告1个警告BK4504:文件中包含了太多的参考;无视这一来源下进一步引用:\程序文件(x86)\ WINDOWS包\ 8.1 \包括\恩\ mshtml.h 37492

mshtml.h在我的项目的外部依赖性文件夹上市,作为远正如我所知道的,它似乎是微软提供的头文件,作为Windows 8.1 SDK的一部分。

我是一个新手程序员,我的研究表明它是mshtml.h的一个问题,超过了64,000的符号参考极限,此时BCSMAKE抛出它的手产生这个消息。

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

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

+0

另请参阅[如何摆脱“BSCMAKE错误BK1500:内部错误”编译错误](http://stackoverflow.com/questions/25592363/how-to-deal-with-bk4504-warning),它声称在MSVS 2010浏览信息是无用的。 – PJTraill 2015-10-28 10:49:07

回答

8

我的 “解决方案” 是关闭这样的BSC一代的afxhtml.h(包括mshtml.h):

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

您可以了解更多关于此#pragma这里:MSDN: component