C++ 带有叮当声的DirectX11显示黑色纹理(在Visual Studio中可以正常工作)

C++ 带有叮当声的DirectX11显示黑色纹理(在Visual Studio中可以正常工作),c++,clang,directx-11,directxtk,C++,Clang,Directx 11,Directxtk,听到关于叮当声的好消息,我决定给它一个机会,并在我的窗口上安装了叮当声。通过安装,它也集成到了我的VisualStudo2015中。一切都很顺利,直到我试图用叮当声编译一个小DirectX11程序。 First Clang在DirectX11的“DirectXMath”头文件中遇到了一些问题。DirectX将_m128 SIMD类型视为一个联合,而clang使用浮点数组。我决定删除叮当当当的标题,只给编译器提供microsoft标题。它编译时没有任何警告或错误。但当我启动程序时,我只看到一个大小

听到关于叮当声的好消息,我决定给它一个机会,并在我的窗口上安装了叮当声。通过安装,它也集成到了我的VisualStudo2015中。一切都很顺利,直到我试图用叮当声编译一个小DirectX11程序。 First Clang在DirectX11的“DirectXMath”头文件中遇到了一些问题。DirectX将_m128 SIMD类型视为一个联合,而clang使用浮点数组。我决定删除叮当当当的标题,只给编译器提供microsoft标题。它编译时没有任何警告或错误。
但当我启动程序时,我只看到一个大小正确、位置正确的黑色纹理。用普通的VisualStudio编译器重新编译程序解决了正确显示纹理的问题,因此我想我的代码是正确的

有什么办法可以帮助叮当吗?我想在Windows下更多地使用Clang,但我不想改变我的项目想法

一些信息(可能会有帮助):
1.)我正在使用带有以下附加命令的clang cl:-fms兼容性-fms扩展-QUUSED参数
2.)我正在使用Windows 8.1标题

3.)使用DirectXTK绘制纹理基本SSE intrinsics语法由Intel定义,但平台类型
uu m128
的具体实现方式因编译器而异。听起来问题在于我必须使用V.m128_f32[I]在DirectXMath中建立索引。如果这是
V[i]
,看起来新版本的Clang应该可以工作

如果Clang不使用DirectXMath构建,我怀疑您将不得不使用预处理器符号
\u XM\u NO\u INTRINSICS\u
构建所有内容。我怀疑VisualC++内部标头将与Clang一起正常工作。

我个人并没有尝试过使用Clang,但如果有什么事情我可以改进或使用Clang,请告诉我。我提交了一份报告来跟踪这个特殊的问题

也就是说,Windows SDK头不是完全兼容的,而且肯定不在Windows 8.1 SDK版本中


谢谢你的回答。我已经在使用VisualC++内部的信息了。他们编译得很好。问题在于纹理。纹理的位置通过SSE传递,且位置正确。但纹理将渲染为黑色。纹理的地址也是正确的。