我正在以高警告级别进行编译,虽然我的代码中没有警告,但我从包含的标题中获得了数万个。所以要禁用它们我会这样做:
#pragma warning(push)
#pragma warning(disable : 4365)
#include <D3Dcommon.h>
#include <d3d11.h>
#include <d3d11_1.h>
#pragma comment(lib, "d3d11.lib")
#include <d3dCompiler.h>
#include <D3D11Shader.h>
#pragma comment(lib, "D3DCompiler.lib")
#include <dxgiformat.h>
#include <dxgi.h>
#pragma warning(pop)
问题是,我的代码中包含的标题中也有5-6个禁用警告(对于整个项目来看),并且由于某种原因使用上面的pragma使它们全部回来,给了我15万整个项目都有不必要的警告。
带有5-6个禁用警告的标题只是这样列出:( ####是不同的数字)
#pragma warning(disable : ####)
#pragma warning(disable : ####)
#pragma warning(disable : ####)
#pragma warning(disable : ####)
......
我没有在那里使用push或pop,因为我希望它们在任何地方都被禁用。