Introducción a Patrones de Diseño en C++ con Qt4/1.8.1 include: Encontrando archivos de cabecera

Versión para imprimir esta pagina

#include: Encontrando Archivos de Cabecera editar

Hay tres formas comunmente usadas para incluir un archivo de cabecera de librería:


 #include <headerFile>
 #include "headerFile"
 #include "path/to/headerFile"
 

Los corchetes de ángulo (<>) le indican al preprocesador que debe de mirar (secuencialmente) en los directorios listados dentro de la ruta include para el archivo.


Un nombre de archivo entrecomillado indica que el preprocesador deberá buscar dentro del "directorio de archivos include" en primer lugar. Una ruta encomillada indica que el preprocesador debe revisar el directorio de la ruta primero. La información de la ruta puede ser absoluta o relativa (al directorio del archivo donde se incluye). Si no se encuentra el archivo en la ubicación especificada, los directorios enlistados en la ruta include son rastreados en busca del archivo de cabecera.


Si existen versiones del archivo en más de un directorio dentro de la ruta include, la búsqueda se detendrá tan pronto como la primera coincidencia del archivo sea encontrada. Si el archivo no se encuentra en ninguno de los directorios de la ruta de búsqueda, entonces el compilador reportará un error.


Para elementos en la Librería Estándar de C++, el compilador generalmente conoce en realidad donde encontrar los archivos de cabecera. Para otras librerías, podemos expandir la ruta de búsqueda añadiendo un parámetro -I/path/to/headerfile al compilador.


Si usas un IDE, habrá algún menú de configuración Proyecto->Configuración->Preprocesador o Proyecto->Opciones->Librerías que te permita especificar directorios include adicionales, éstos se han pasados como parámetros -I hacia el compilador en el momento de la construcción.


Con qmake, como pronto veremos, puedes agregar líneas INCLUDEPATH += NombreDelDir al archivo de proyecto. Estos directorios terminarán en el Makefile generado como macros INCPATH, con esto serán pasados dentro del compilador/preprocesador en el momento de la construcción.


Consejo: Incluir cabeceras que no son de Qt
En general, es buena idea incluir (#include) archivos de cabecera que no sean Qt. Sinceramente Qt no define muchos símbolos dentro del compilador como dentro del procesador, esto te ayudará a evitar/encontrar clases más fácilmente

Versión para imprimir esta pagina