在Windows 10的VS2013上使用D3D11调试层

Use D3D11 debug layer with VS2013 on Windows 10

本文关键字:D3D11 调试 Windows VS2013      更新时间:2023-10-16

在我的D3D 11项目中,我总是添加

#if (defined(DEBUG) || defined(_DEBUG))
deviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif /* (defined(DEBUG) || defined(_DEBUG)) */

到设备创建标志以启用调试输出。自从我升级到Windows 10后,这个功能就失效了。设备创建失败,输出如下:

D3D11CreateDevice: Flags (0x2)被指定为需要Windows 10的D3D11 SDK层,但它们不存在于系统中。必须移除这些标志,否则必须安装Windows 10 SDK。标志包括:D3D11_CREATE_DEVICE_DEBUG

但是,我不能使用Windows 10 SDK,也不能将项目从VS2013升级到vs2015 atm。是否有办法解决这个问题,即我可以在VS2013上启用Windows 10上的D3D11调试层?

调试消息有点误导。对于Windows 10, Windows SDK不再安装Direct3D调试层。相反,你需要启用一个名为"图形工具"的Windows可选功能,其中包括调试层。在Windows 10上安装VS 2015和Windows 10 SDK应该也会自动启用此功能,但你可以直接设置。

(a)设置面板->系统->应用程序;管理可选功能->添加功能->选择"图形工具"

(b)从admin命令行提示符:

Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0

看这篇文章

请注意,当您从Windows 10(10240)升级到2015年11月更新(10586)时,您可能需要重新启用图形工具可选功能。