c++ - Use la capa de depuración D3D11 con VS2013 en Windows 10
debugging visual-studio-2013 (1)
En mis proyectos D3D 11, siempre agrego
#if (defined(DEBUG) || defined(_DEBUG))
deviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif /* (defined(DEBUG) || defined(_DEBUG)) */
a las banderas de creación de dispositivos para habilitar la salida de depuración Desde que actualicé a Windows 10, esto ya no funciona. La creación del dispositivo falla con la siguiente salida:
Dispositivo D3D11CreateDevice: se especificaron indicadores (0x2) que requieren las capas SDK D3D11 para Windows 10, pero no están presentes en el sistema. Estas marcas deben eliminarse o el SDK de Windows 10 debe estar instalado. Las banderas incluyen: D3D11_CREATE_DEVICE_DEBUG
Sin embargo, no puedo usar el SDK de Windows 10 ni puedo actualizar el proyecto de VS2013 a VS 2015 atm. ¿Hay alguna forma de resolver este problema, es decir, puedo habilitar la capa de depuración D3D11 en Windows 10 con VS2013?
El mensaje de depuración es un poco engañoso. Para Windows 10, el SDK de Windows ya no instala la capa de depuración Direct3D. En su lugar, debe habilitar una función opcional de Windows llamada "Herramientas gráficas" que incluye la capa de depuración. La instalación de VS 2015 y el SDK de Windows 10 en Windows 10 también debería habilitar automáticamente esta función, pero puede hacerlo directamente.
(a) Panel de configuración -> Sistema -> Aplicaciones y características -> Administrar características opcionales -> Agregar una característica -> Seleccione "Herramientas gráficas"
(b) desde un indicador de línea de comandos del administrador:
Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0
Ver este post
Tenga en cuenta que cuando actualice de Windows 10 (10240) a la actualización de noviembre de 2015 (10586), es posible que deba volver a habilitar la función opcional Herramientas gráficas.