Gcc 使用Wine中的DirectX头在MingW下编译

Gcc 使用Wine中的DirectX头在MingW下编译,gcc,mingw,hlsl,wine,Gcc,Mingw,Hlsl,Wine,我一直在尝试将HLSL着色器支持构建到播放器中。由于MingW中d3d9.h中缺少加载.fx文件和编译着色器的实用方法,我遇到了麻烦。因此,在VLC开发人员的建议下,我从他们那里借用了DX9头文件 现在,启用d3dx9.h include后,我有许多编译器错误,如下所示: 说明资源路径位置类型 /mingw/lib/gcc/mingw32/3.4.5/../../../../../../../../include/d3dx9core.h参数“D3DXCheckVersion”的声明,但在475

我一直在尝试将HLSL着色器支持构建到播放器中。由于MingW中d3d9.h中缺少加载.fx文件和编译着色器的实用方法,我遇到了麻烦。因此,在VLC开发人员的建议下,我从他们那里借用了DX9头文件

现在,启用d3dx9.h include后,我有许多编译器错误,如下所示:

说明资源路径位置类型 /mingw/lib/gcc/mingw32/3.4.5/../../../../../../../../include/d3dx9core.h参数“D3DXCheckVersion”的声明,但在475 C/C++行中没有此类参数


任何熟悉MingW、GCC、DirectX和Wine的机构都能为通过GCC使用HLSL着色器提供一些帮助吗?

VLC团队再次提出了一些非常好的建议,我希望他们在某个时候加入stackoverflow声誉的激烈竞争:

1) 编译对DirectX着色器加载的调用,并将其汇编到一个单独的基于MSVC的DLL中,该DLL可以访问标准的microsoft标头。然后从VLC链接到此DLL

2) 在d3d9.h中插入GetProcAddress技巧以获取D3DXAssembleShaderFromFile。directx实用程序中的上述函数,用于从HLSL生成部件着色器