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/