我搜索并搜索过,发现没有办法让MingX在MingW下编译,我看到其他人成功并尝试复制它无济于事。我已经阅读过这个类似的问题而且没有帮助,所以请不要指导我:How to compile a DirectX 11 app in MinGW。
我一直试图让MingW与directX合作很长一段时间了,这里列出了我失败的尝试以及我读过的其他人的作品:
我听说如果我只是将directX标头转储到适当的位置,我至少应该能够在链接器阶段失败,但是即使在我这样做之后我也会出现语法错误(授予了它们中的大部分都消失了。)每个编译器都会遇到自己独特的错误,在不同的点上失败,但在其他地方失败的地方显然会成功。到底是怎么回事?为什么完全有效的代码(所有由microsoft编写)在由任何其他编译器处理时突然无法编译?
答案 0 :(得分:3)
不幸的是,包含DirectX 2010年6月SDK的样本远非“完美有效的代码”。它们使用了许多特定于Microsoft编译器的扩展。
在我放弃它基本无望之前,我在尝试编译Samples\C++\Direct3D\BasicHLSL
中的示例时发现了以下Microsoft的特定依赖项:
我还没有提到微软的DirectX标题,比如依赖于微软的SAL annotation宏。但可以说MinGW没有使用这些DirectX标头的兼容版本。
其中一些问题相对容易解决。其他更困难,需要重写样本的不兼容部分。在我没有发现的样本中,可能还有更多的Microsoft依赖项。
最重要的是,如果没有首先修改样本和DXUT框架以使它们更具可移植性,就无法使用MinGW或任何其他GCC端口编译DirectX SDK附带的样本。