【问题标题】:Using DirectX headers from Wine to compile under MingW使用 Wine 中的 DirectX 头文件在 MingW 下编译
【发布时间】:2023-04-08 08:02:01
【问题描述】:

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

现在启用 d3dx9.h 包含我有很多编译器错误的形式:

描述资源路径位置类型 /mingw/lib/gcc/mingw32/3.4.5/../../../../include/d3dx9core.h 声明参数“D3DXCheckVersion”但没有此类参数 ShadedDXPlugin 第 475 行 C/C++ 问题

任何熟悉 MingW、GCC、DirectX 和 Wine 的人都可以了解如何让 HLSL 着色器通过 GCC 工作吗?

【问题讨论】:

    标签: gcc mingw hlsl wine


    【解决方案1】:

    VLC 团队再次提出了一些很棒的建议,我希望他们能够在某个时候加入到 stackoverflow 声誉的激烈竞争中:

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 2023-03-06
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多