如何处理BK4504警告

9
使用级别4警告时,我的C ++项目出现以下情况: 警告1警告BK4504:文件包含太多引用;忽略来自此源的进一步引用c:\ program files(x86)\ windows kits \ 8.1 \ include \ um \ mshtml.h 37492 我的项目的外部依赖项文件夹中列出了mshtml.h,并且据我所知,它似乎是Windows 8.1 SDK的一部分,由Microsoft提供的标头文件。 我是一名初学者程序员,我的研究表明这是mshtml.h超过64,000个符号引用限制的问题,到达此点时,BCSMAKE会生成此消息。 直接忽略此警告是否安全?我知道可以使用#pragma指令禁用特定警告,但我应该将此指令放在哪里?我已尝试在多个源文件中的几个地方使用#pragma warning(disable:4504),但警告仍然存在。 唯一可靠禁用此消息的方法似乎是在项目设置中关闭“启用浏览信息”,但我认为我不应该这样做。

请参阅如何消除“BSCMAKE error BK1500: Internal error”编译错误,该文章声称在MSVS 2010中浏览信息是无用的。 - PJTraill
我曾经遇到过这个问题,不知道浏览信息是什么。我找到了这个链接,它帮助了我(基本上看起来它可以代替 IntelliSense 用于像“转到定义”之类的东西,但这并不是关键):https://dev59.com/sHRB5IYBdhLWcg3wpYio - Keith M
1个回答

14

我的“解决方案”是关闭包含 mshtml.h 的 afxhtml.h 生成的 BSC,代码如下:

#pragma component(browser, off, references)
#include <afxhtml.h>
#pragma component(browser, on, references)
您可以在此处阅读有关此 #pragma 的更多信息:MSDN:component

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接