2011-02-08 17 views
18

Editar: Por supuesto, inmediatamente después de haber trabajado en él durante una hora y luego publicar aquí, he encontrado el error estúpido ...no puede abrir incluir archivo "d3dx9.h"

estoy recibiendo errores de compilación cuando tratando de #include <d3dx9.h> en un proyecto. Recibo un "error fatal C1083: no se puede abrir el archivo de inclusión: 'd3dx9.h': no ​​existe dicho archivo o directorio".

  • Tengo el DirectX SDK instalado (también intenté reinstalarlo en vano).
  • En las propiedades del proyecto:
    • Directorios de VC++ se ajustan a "$(DXSDK_DIR)Include;$(IncludePath)" y "$(DXSDK_DIR)Lib\x86;$(LibraryPath)" para incluir directorios y Biblioteca, respectivamente, para todas las configuraciones — y la variable de entorno %DXSDK_DIR% puntos a C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\ como se esperaba.
    • C/C++> Configuración general ha $(DXSDK_DIR)include que aparece en la inclusión adicionales Directorios
    • Linker> Entrada> Dependencias adicionales ha d3dx9d.lib incluidos para depuración y d3dx9.lib incluidos para la configuración de lanzamiento.
  • Yo soy capaz de compilar y ejecutar con éxito proyectos de tutoría desde el navegador de muestreos DirectX.
  • Intellisense/autocompletar de Visual Studio encontrará d3dx9.h y sugerir nombres de funciones y tipos que están dentro del archivo (y no se incluyen a través de ninguna otra cosa estoy #include ing) por lo que parece que Intellisense puede encontrarlo.

¿Alguna sugerencia sobre lo que estoy olvidando o qué más puedo probar?

Gracias

+0

Agregue una respuesta con lo que hizo y selecciónela. Suprimir niega el esfuerzo que Liviu puso para ayudarte. – Will

+0

Ok. No estaba seguro si responder mi propia pregunta era mala forma. Hará. – chaosTechnician

Respuesta

4

No me di cuenta de que uno de los otros proyectos en la solución fue #include ing un archivo que fue #include ing un archivo que se #include ing d3dx9.h y no habían añadido los caminos para ese proyecto.

/Facepalm

6

Usted debe asegurarse de que tiene TODAS caminos sorounded por comillas ("). En lugar de $(DXSDK_DIR)include usted debe tener "$(DXSDK_DIR)include"

+3

Según tengo entendido, VS2010 no requiere comillas en las rutas; pero, de cualquier manera, agregar citas no lo solucionó. – chaosTechnician

12

se le olvidó una cosa:

  1. Ir a Directorios de VC++ -> Biblioteca Directorios
  2. añadir $(DXSDK_DIR)LIB\x86
  3. aplican.

Hecho. Espero que esto ayude

+1

Pensé que había mencionado que ya incluía el directorio de la biblioteca. – Hazok

0

Intenté todas estas sugerencias y ninguna funcionó.

Resulta que la variable $ (DXSDK_DIR) no funciona si instala DirectX mientras Visual Studio aún se está ejecutando.La solución para mí fue reiniciar Visual Studio (+ agregar las rutas en las soluciones mencionadas anteriormente, por supuesto).

Cuestiones relacionadas