我想用/Wall 编译我的项目。
当我这样做时,我会收到大量来自第三方代码(增强库、其他系统头文件)的警告。我包含这些第三方头文件的唯一地方是在我的预编译头文件 ( stdafx.h
) 中。
我试过这个(在 stdafx.h
中)
#pragma warning(push,3)
// include all the third-party headers here
#pragma warning(pop)
编译所有警告级别为 3 的第三方代码。
但是我仍然从 math.h
等文件中收到数百条警告, xmemory
, vector
, string_generator.hpp
(boost.uuid), placeholders.hpp
(boost.asio), ...
在启用所有警告的情况下编译我自己的代码的同时,如何确保编译所有警告级别为 3 的第三方代码?
最佳答案
第 3 方代码的修改频率较低,因此最好将所有这些包含在您的 StdAfx.h 中,然后您的上述解决方案将抑制它们的警告。
或者创建一些其他包装器头文件,这些包装器头文件在您使用的库的实际包含周围使用上述编译指示。
我想不出第三种方法。我说的是将它们全部插入 stdafx(和它们实际上也包含在内。请记住,stdafx 是一种优化 - 不能替代仔细选择性地包含在您的源文件中)
关于c++ - VC++ 2010 : Compiling with/Wall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6096461/