Lin*_*222 2 c++ directx-12 visual-studio-2019
我正在尝试学习 DirectX 12,我在 github 上找到了这些教程。我下载了所有东西,并尝试运行 HelloWindow 项目。我在 Debug->Options->Linker->Input 中链接了 d3d12.lib。不幸的是,它给了我一堆来自 d3dx12.h 的错误。对于其中的大多数,Intellisense 说要包含 d3d12.h,即使我已经这样做了。例如,D3D12_RESOURCE_DESC1 是未定义的,他的所有属性也是如此。如果是,请帮助我,我是否错过了什么。
您使用的“最新”副本D3DX12.H要求您使用“最新”版本的 Windows 10 SDK (19041)。如果D3D12_RESOURCE_DESC1未定义,则您使用的是较旧的 Windows 10 SDK。
请注意,有三种不同的选项可以解决此不匹配问题:
安装最新的 Windows 10 SDK (19041)。对于 VS 2019,这是通过运行 Visual Studio 安装程序并选择新的 Windows 10 SDK 作为组件来完成的。对于 VS 2017,您需要运行独立安装程序。不支持 VS 2015 及更早版本。
使用支持旧 SDK 的 D3DX12.H 实用程序头版本。我维护了一个“最新”的 D3DX12.H 标头版本,其中包含一堆预处理器条件,以便它支持 Windows 10 SDK (14393) 或更高版本。这恰好是支持 VS 2015 的 Windows 10 SDK 的最后一个版本。从GitHub获取它: directx-vs-templates。
使用 GitHub DirectX-Headers:一个新选项是从GitHub获取包括 D3DX12.H 在内的最新头文件。您仍然需要用于链接库的 Windows 10 SDK。
有关为什么 D3DX12.H 不是 Windows 10 SDK 的一部分的详细信息,请参阅此博客文章。
对样品的DirectX图形的样品在主/主分支假设您使用的是最新的Windows 10 SDK(19041)。
由于您是 DirectX 12 的新手,您可能需要查看DirectX Tool Kit for DX12作为对最新版本 API 的更温和的介绍。