c++ - pragma warning(push, 0) 不禁用/墙警告?

标签 c++ visual-studio msbuild visual-studio-2017

我记得这个技巧在过去的某个时候有用,但现在似乎不起作用了。

#include 语句周围放置 #pragma warning(push, 0) 实际上并不能阻止 /Wall 从这些语句中生成警告包含文件。

/Wall 更改为 /W4 解决了这个问题,但使用 /Wall 似乎被打破了。

#pragma warning(push, 0)

#include <iostream>

#pragma warning(pop)

int main() {
    std::cout << "Hello, World!";
}

构建输出:

image

Microsoft Visual Studio Community 2017 版本 15.5.3

完整的命令行开关(从 cmake 生成):

/GS /TP /analyze- /Wall /Zc:wchar_t /Gm- /O2 /Ob2 /Fd"main.dir\Release\vc141.pdb" /Zc:inline /fp:precise /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "CMAKE_INTDIR=\"Release\"" /D "_MBCS" /errorReport:prompt /WX /Zc:forScope /GR /Gd /Oy- /MD /std:c++14 /Fa"Release/" /EHsc /nologo /Fo"main.dir\Release\" /Fp"main.dir\Release\main.pch" /diagnostics:classic 

我用谷歌搜索并找到了一个 post这似乎描述了同样的问题,但没有提出解决方案。希望 StackOverflow 上的人们有更好的主意?

最佳答案

这似乎已在 15.9.1 中为我修复。

关于c++ - pragma warning(push, 0) 不禁用/墙警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48412631/

相关文章:

c++ - 为什么我在这个简单的代码中有 HEAP CORRUPTION?

c++ - 从 C++ CLR/CLI 项目的资源文件加载图像

visual-studio-2010 - Visual Studio 2010 "INS"& "OVR"

msbuild - 如何在不需要 IIS 参与的情况下在本地或远程部署 msbuild zip 包

visual-studio - 如果MSBuild编译从命令行成功,则在 Debug模式下运行解决方案

msbuild - 从命令行执行 msbuild : getting errors for the referenced namespace 'Microsoft.VisualStudio.TestTools'

c++ - 为多个测试文件构建可执行文件

c++ - 为什么要打印 ascii 范围之外的数字?

c# - Silverlight 显示空白页而不是抛出异常

visual-studio - 如何使用 Visual Studio 自动大括号完成包围现有 block ?