如何处理BK4504警告
How to deal with BK4504 warning
在我的C++项目中设置了警告级别4,我看到了以下内容:
警告1警告BK4504:文件包含太多引用;忽略此源c:\program files(x86)\windows kits\8.1\include\um\mshtml.h 37492的进一步引用
mshtml.h
列在我的项目的External Dependencies文件夹中,据我所知,它似乎是作为Windows 8.1 SDK一部分的Microsoft提供的标头。
我是一个新手程序员,我对此的研究表明,mshtml.h超过64000的符号引用限制是一个问题,这时BCSMAKE举手生成了这个消息。
忽略这个警告安全吗?我知道使用#pragma
指令可以禁用特定的警告,但我该把这个指令放在哪里?我在源文件中的多个位置尝试过#pragma warning(disable: 4504)
,但警告仍然存在。
可靠禁用此消息的唯一方法似乎是在项目设置中关闭启用浏览信息,但我觉得我不应该这么做。
我的"解决方案"是关闭afxhtml.h(包括mshtml.h)的BSC生成,如下所示:
#pragma component(browser, off, references)
#include <afxhtml.h>
#pragma component(browser, on, references)
您可以在这里阅读更多关于#pragma的信息:MSDN:组件
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 在未链接的部分上生成警告
- 警告 C4552:">>":未使用表达式的结果
- 禁止显示由于常量为零而比较始终为假的警告
- C++ 警告:将新创建的 gsl::owner<> 分配给非所有者
- 如何处理BK4504警告