0

到目前为止,我已经成功地将已弃用的 D3DX 库更改为新的库,但是使用 D3DX11CompileFromFile 函数我应该使用新的 D3DCompileFromFile。MSDN 说头文件是 D3DCompiler.h,lib 文件是 D3DCompiler.lib。Intellisense 拾取两个,一个来自

C:\Program Files (x86)\Microsoft DirectX SDK(2010 年 6 月)\Lib\x64

另一个来自

C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64

在此处输入图像描述

如果有人知道为什么会这样,我将不胜感激。我也尝试过切换其中一些的顺序。谢谢。

4

1 回答 1

1

理想情况下,您完全删除 DirectX SDK(2010 年 6 月)路径,只使用 Windows 8.1 SDK 中的 D3DCompile 标头。

如果您必须使用旧版 DirectX SDK(2010 年 6 月),请将这些包含和 lib 路径放在 Windows 8.1 SDK 之后。这主要是可行的,但是对于低级 XAudio 2.7 有一些复杂性。有关所有详细信息,请参阅Zombie DirectX SDK

旧版 DirectX SDK 副本d3dcompiler.h没有FromFile为 Windows 8.x SDK 版本添加的风格。在 Windows 8.1 或 Windows 10 上,D3DCompiler_47.DLL它是操作系统的一部分,但如果您想在 Windows 7 上运行,您需要将 DLL 与您的应用程序一起部署,您可以从$(WindowsSdkDir)redist\d3d\<arch>\D3DCompile*.DLL. 请参阅HLSL、FXC 和 D3DCompile

于 2016-04-27T05:33:45.763 回答