我正在运行 Visual Studio 2017。我正在尝试向我的项目添加一种名为 ChaiScript 的脚本语言,但是当我打开/Wall 时它会生成很多警告,并且我还将警告视为错误 (我更喜欢这样保持这种状态)。
所以我想我会尝试在包含 ChaiScript 头文件时暂时禁用所有警告(只需要包含 1 个文件)。起初我这样做...
#pragma warning( disable : 4061 )
#pragma warning( disable : 4068 )
#pragma warning( disable : 4191 )
#pragma warning( disable : 4355 )
#pragma warning( disable : 4365 )
#pragma warning( disable : 4371 )
#pragma warning( disable : 4464 )
#pragma warning( disable : 4514 )
#pragma warning( disable : 4571 )
#pragma warning( disable : 4623 )
#pragma warning( disable : 4625 )
#pragma warning( disable : 4626 )
#pragma warning( disable : 4668 )
#pragma warning( disable : 4710 )
#pragma warning( disable : 4774 )
#pragma warning( disable : 4820 )
#pragma warning( disable : 5026 )
#pragma warning( disable : 5027 )
#include <chaiscript\chaiscript.hpp>
这行得通,我可以编译...但是,我想在其余的编译过程中重新启用这些警告...所以我把它变成了这个...
#pragma warning( push )
#pragma warning( disable : 4061 )
#pragma warning( disable : 4068 )
#pragma warning( disable : 4191 )
#pragma warning( disable : 4355 )
#pragma warning( disable : 4365 )
#pragma warning( disable : 4371 )
#pragma warning( disable : 4464 )
#pragma warning( disable : 4514 )
#pragma warning( disable : 4571 )
#pragma warning( disable : 4623 )
#pragma warning( disable : 4625 )
#pragma warning( disable : 4626 )
#pragma warning( disable : 4668 )
#pragma warning( disable : 4710 )
#pragma warning( disable : 4774 )
#pragma warning( disable : 4820 )
#pragma warning( disable : 5026 )
#pragma warning( disable : 5027 )
#include <chaiscript\chaiscript.hpp>
#pragma warning( pop )
现在我认为这会成功,因此它会在没有警告的情况下编译 header ,然后返回检查这些警告……但似乎在我这样做之后……我仍然收到 4 个 C4710 警告。 .. 我做错了什么吗?
最佳答案
在所有禁用之前添加#pragma warning(push, 3),在包含之后添加#pragma warning(pop)。
关于c++ - 在 Visual Studio 中暂时禁用包含的编译警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47540974/