c++ - Clang - 删除某些文件的 "conversion function converting <A> to base class <B> will never be used"警告

标签 c++ winapi directx clang

Clang 会阻塞 DirectX 的包含文件,并发出一些警告,例如分析 header 时的这些警告:

C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:1133,5 - Warning - conversion function converting 'CD3D11_RECT' to its base class 'tagRECT' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:1179,5 - Warning - conversion function converting 'CD3D11_BOX' to its base class 'D3D11_BOX' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:1441,5 - Warning - conversion function converting 'CD3D11_DEPTH_STENCIL_DESC' to its base class 'D3D11_DEPTH_STENCIL_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:1661,5 - Warning - conversion function converting 'CD3D11_BLEND_DESC' to its base class 'D3D11_BLEND_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:1857,5 - Warning - conversion function converting 'CD3D11_RASTERIZER_DESC' to its base class 'D3D11_RASTERIZER_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:2200,5 - Warning - conversion function converting 'CD3D11_BUFFER_DESC' to its base class 'D3D11_BUFFER_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:2400,5 - Warning - conversion function converting 'CD3D11_TEXTURE1D_DESC' to its base class 'D3D11_TEXTURE1D_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:2608,5 - Warning - conversion function converting 'CD3D11_TEXTURE2D_DESC' to its base class 'D3D11_TEXTURE2D_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:2811,5 - Warning - conversion function converting 'CD3D11_TEXTURE3D_DESC' to its base class 'D3D11_TEXTURE3D_DESC' will never be used
C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include\D3D11.h:3419,5 - Warning - conversion function converting 'CD3D11_SHADER_RESOURCE_VIEW_DESC' to its base class 'D3D11_SHADER_RESOURCE_VIEW_DESC' will never be used

当然,这使得逐步完成所有这些来查找我感兴趣的错误和警告变得非常烦人。是否有一个标志可以使其不输出这些消息,或者至少有一种不分析 DirectX 头文件的方法?

我目前正在使用

进行编译
-Wall -Wno-unknown-pragmas -Wno-microsoft -Wno-return-type-c-linkage -Wno-conversions -IC:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Include -IC:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/include

最佳答案

因此,对于任何可能也遇到此“问题”的人:

不要使用-I<path> ,使用-isystem<path> .

关于c++ - Clang - 删除某些文件的 "conversion function converting <A> to base class <B> will never be used"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509715/

相关文章:

c++ - 返回一个空字符串 : efficient way in c++

c - 如何编写 Windows 应用程序?

c++ - 带有 DirectX 部分的 Metro 风格应用程序

c++ - Boost::thread 如何获取指向调用我的函数的线程的指针?

c++ - "transform(s.begin(), s.end(), s.begin(), tolower)"Xcode 5无法编译

c++ - 运行时错误,奇怪的行为

c - 为什么要使用 validating/invalidating 区域?

c++ - 任务管理器如何杀死我的程序?

visual-studio - directx(x-64) 控制面板的调试输出

c++ - 访问冲突写入位置 0xCCCCCCCC