2010-04-13 15 views
7

Miré la publicación anterior basada en esto, pero no se relacionan. Estoy recibiendo el siguiente error.error fatal C1083: No se puede abrir el archivo de inclusión

1>c:\users\numerical25\desktop\intro todirectx\introtodirectx\chapter 4\init direct3d\init direct3d.cpp(9) : fatal error C1083: Cannot open include file: 'd3dApp.h': No such file or directory 

Pero claramente de la imagen que se muestra a continuación, que está allí

alt text

En oponen a otras personas que están teniendo problemas para encontrar la cabecera de la unidad física. el compilador no puede encontrar mi encabezado desde el explorador de soluciones.

Respuesta

14

Lo que ves en el panel izquierdo del IDE no tiene absolutamente nada que ver con si el archivo está allí o no. "Solution Explorer" no explora los archivos reales presentes en el sistema de archivos, simplemente muestra qué archivos están registrados como como parte de esta solución.

Para compilar el código, el archivo debe estar presente en el sistema de archivos de su computadora en una de las rutas especificadas como rutas de búsqueda para los archivos de encabezado de esta solución. No está presente, de ahí el error.

+0

ok, lo que dices tiene mucho sentido, pero estoy un poco confundido sobre qué hacer a continuación. ¿Debo crear una carpeta llamada Encabezados y poner físicamente el archivo de encabezado? Entonces agrégalo a los directorios de inclusión? Siempre pensé que todos los archivos en el explorador de soluciones son archivos físicos incrustados en el proyecto. – numerical25

+0

Ok, agregué los encabezados a la carpeta raíz donde están mis archivos .sln y ahora se pueden encontrar. – numerical25

0

La vista de la solución y la vista de archivo a veces no tienen ninguna relación; cada archivo que agregue a la vista de solución es una entrada en un archivo xml. La directiva #include generalmente mira la ubicación de la unidad física, después de mirar a través de las rutas incluidas.

Mi sugerencia es agregar la ruta de acceso de direct3d.h a la configuración del proyecto. Esa es la manera recomendada, ya que hace que la actualización a las versiones más nuevas del SDK sea sencilla (y es una buena práctica para cualquier biblioteca externa).

+0

bien, pero tengo problemas con d3dApp.h. que es un encabezado personalizado que coloco dentro de la carpeta de encabezados. Ellos VS crearon automáticamente esta carpeta de encabezado para mí. Entonces, ¿por qué es tan difícil encontrar los archivos de encabezado que incluí en él? – numerical25

5

Asegúrese de que el directorio en el que se encuentra el encabezado esté incluido en la configuración del proyecto (C/C++ → General → Directorios de inclusión adicionales).

+0

el encabezado está en la carpeta Encabezado dentro del explorador de soluciones. No hay una carpeta de encabezado ubicada cerca del archivo .sln en la unidad física. Cuando voy a inclusiones adicionales, solo me permite buscar carpetas en la unidad física. La carpeta de encabezado en la imagen de arriba solo se puede encontrar en .sln – numerical25

+0

¡Funcionó para mí! Gracias. –

Cuestiones relacionadas