c++ directx-11

c++ - d3dx11.h falta?



directx-11 (3)

Así que reinstalé directx11 un par de veces e incluso fui al sitio web de Microsoft y obtuve el paquete SDK que contiene todos los archivos directos de x cabinet. ¿Alguien tiene alguna idea de por qué sigo recibiendo este error entonces? Sé por qué lo dice, pero más en busca de la solución.

1> c: / users / vaughn / ​​documents / visual studio 2010 / projects / myfirstapp / myfirstapp / main.cpp (5): error fatal C1083: No se puede abrir el archivo de inclusión: ''d3dx11.h'': no ​​existe tal archivo o directorio


En mi caso, para DX12, faltaba d3dx12.h

Ver esta página de MSDN .

En caso de que la página se mueva, la línea correspondiente parece estar

" d3dx12.h está disponible por separado de los encabezados de Direct3D 12. Puede descargar d3dx12.h navegando en cualquiera de los archivos de origen para los proyectos de Direct3D 12 en GitHub/Microsoft/DirectX-Graphics-Samples "


Eso es lo que necesita hacer en VS 2010 (se ve un poco diferente en VS 2008 y anteriores):

Ve a las propiedades de tu proyecto | Propiedades de configuración | Directorios VC ++. Edite la línea llamada Incluir directorios agregando una ruta a los archivos de encabezado de DirectX. En cuanto a SDK de junio de 2010, puede ser algo como:

Win de 32 bits: C: / Archivos de programa / Microsoft DirectX SDK (junio de 2010) / Include

Win de 64 bits: C: / Archivos de programa (x86) / Microsoft DirectX SDK (junio de 2010) / Incluir

A continuación, es más probable que obtenga un error del enlazador (faltan archivos .lib). Solo tienes que ir a las propiedades de tu proyecto | Propiedades de configuración | Directorios de VC ++ nuevamente, pero esta vez edite los Directorios de la biblioteca y agregue a una de las siguientes rutas:

Win de 32 bits: C: / Archivos de programa / Microsoft DirectX SDK (junio de 2010) / Lib / x86

Win de 64 bits: C: / Archivos de programa (x86) / Microsoft DirectX SDK (junio de 2010) / Lib / x64

Si instaló otra versión de SDK o la instaló en un directorio no predeterminado, cambie las rutas según corresponda. También asegúrese de haber agregado d3d11.lib (y tal vez d3dx11.lib también) a Linker | Dependencias adicionales.

La regla general es que cada vez que #include <> archivos su IDE necesita saber dónde encontrarlos. Directorios VC ++ es una forma de hacerlo en Visual Studio. Pero la inclusión exclusiva de encabezados no es suficiente (en la mayoría de los casos), debe decirle a su vinculador dónde debe buscar los archivos binarios precompilados descritos por esos encabezados. Eso es lo que haces al agregar la segunda ruta a los Directorios de la Biblioteca.


Tienes que asegurarte de obtener el último SDK de DirectX . Tiene los archivos de cabecera. Si todo lo que tienes son archivos de gabinete, tienes el SDK incorrecto.