【问题标题】:DirectX with Windows 7 and Windows 8DirectX 与 Windows 7 和 Windows 8
【发布时间】:2014-07-14 01:00:44
【问题描述】:

我正在使用 DirectX SDK(2010 年 6 月)在 Windows 7 环境中使用 DirectX11 开发应用程序。 Windows 8 和 8.1 附带 Windows SDK(包括 DirectX SDK)。我发现 DirectX SDK 的一些头文件不包含在 Windows SDK 中。 (D3DX11Core.h、D3DX11.h 等)

我的问题是:

  • 我的应用程序能否在 Windows 8 和 8.1 环境中运行?
  • 在 Windows 8 和 8.1 上向后兼容 DirectX 11 或 DirectX 10
  • 如果我的应用程序使用不推荐使用的头文件(例如 D3DX11.h),它会在 Windows 8 上运行吗

这是我目前的工作环境

  • 操作系统 = Windows 7
  • DirectX = DirectX SDK(2010 年 6 月)
  • DirectX 11 与 Direct3D 11
  • Windows 工具包(随 Visual Studio 安装)

【问题讨论】:

    标签: windows-8 directx-11


    【解决方案1】:

    D3DX 已被弃用,因为 Windows SDK 中包含 DirectX,首先使用 VS2012 附带的 Windows 工具包 8。

    使用 2010 年 6 月的 SDK 和 D3DX 构建的应用程序当然可以在具有适当的 redist 的所有窗口上运行。

    尽管如此,DirectX June 2010 sdk 已被弃用多年,您错过了一些修改后的 API,这些 API 对编写 Metro 界面的 Windows 应用程序很有用,并且将两者混合会给您带来冲突和令人头疼的问题。

    【讨论】:

    • 嗨 galop1n,感谢您的回答。如果我的应用程序使用不推荐使用的头文件(例如 D3DX11.h),它会在 Windows 8 上运行吗
    【解决方案2】:

    Direct3D 11 Win32 桌面应用程序将在 Windows 8.x 上运行,前提是您安装了所需的 Visual C++ REDIST。如果您在 DirectX SDK 中使用旧组件,例如 D3DX、D3DCompiler #43、XAudio 2.7、XInput 1.3 或 XACT,您还需要运行 DirectX End-User Runtime REDIST。请注意,DirectX REDIST 存在一些已知问题,这些问题在 DXSDK(2010 年 6 月)发布后已得到解决。请参阅此博客post

    如果您想使用 VS 2012/2013 和旧版 DirectX SDK 进行构建,您可以。您只需要按照非 MSDN 的说明反转包含/lib 路径顺序。

    此外,如果您使用的是 D3DX11,则有很多 options 可以替换它而无需获取额外的 DLL 依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      相关资源
      最近更新 更多