安裝完Win10調試程序突然在這個地方報錯:
#if (defined(DEBUG) || defined(_DEBUG)) deviceFlags |= D3D11_CREATE_DEVICE_DEBUG; #endif /* (defined(DEBUG) || defined(_DEBUG)) */
錯誤信息如下:
D3D11CreateDevice: Flags (0x2) were specified which require the D3D11 SDK Layers for Windows 10, but they are not present on the system. These flags must be removed, or the Windows 10 SDK must be installed. Flags include: D3D11_CREATE_DEVICE_DEBUG
問題分析:
以前在win7 和Win8 下安裝完DirectX 的SDK就不錯了,在Win10 下則裝了DirectX也報錯(Win8 的SDK 和Win10 的SDK都裝了)
后來在MSDN的博客中發現:
Windows 10 optional feature: Graphics Tools
There are several scenarios where you need only minimal graphics tools on the target system. For example:
- Install the D3D SDK Layers so that your application can create a D3D Debug device
- Use DXCAP command line tool to capture and playback D3D graphics log file
- Scripting of API traces or doing regression testing on a lab machine
In these cases, all you need to install is the Windows 10 optional feature of “Graphics Tools”.
To install the Graphics Tools optional feature, go to the Settings panel, under System, Apps & features, Manage optional Features, Add a feature, and then look for “Graphics Tools”
解決方案:
方法1
Settings panel -> System -> Apps & features -> Manage optional Features -> Add a feature -> Select "Graphics Tools"

方法2
用管理員身份打開命令行工具(cmd),執行如下命令:
Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0
參考