¿Cómo agregar incluir ruta en Qt Creator?

160

Tengo un proyecto en el que estoy trabajando en Qt Creator que requiere una biblioteca de terceros. Quiero agregar los encabezados a la ruta de inclusión para el proyecto. ¿Cómo hago esto?

Nathan Osman
fuente

Respuestas:

231

Si está utilizando qmake, el sistema de compilación Qt estándar, simplemente agregue una línea al .proarchivo como se documenta en la Referencia de variables qmake :

INCLUDEPATH += <your path>

Si está utilizando su propio sistema de compilación, puede crear un proyecto seleccionando "Importar proyecto basado en Makefile". Esto creará algunos archivos en el directorio de su proyecto, incluido un archivo llamado <your project name>.includes. En ese archivo, simplemente enumere las rutas que desea incluir, una por línea. Realmente todo lo que hace es decirle a Qt Creator dónde buscar archivos para indexar para la finalización automática. Su propio sistema de compilación tendrá que manejar las rutas de inclusión a su manera.

Como se explica en el Manual de Qt Creator , <your path>debe ser una ruta absoluta, pero puede evitar entradas específicas del sistema operativo, del host o del usuario en su .proarchivo mediante el uso $$PWDque hace referencia a la carpeta que contiene su .proarchivo, por ejemplo

INCLUDEPATH += $$PWD/code/include
Jason B
fuente
2
Bueno. Esto me funcionará bien. ¿Existe una configuración global para incluir rutas?
Nathan Osman
No que yo sepa, pero eso no significa que no exista. No veo nada en las opciones que se ve así.
Jason B
3
No importa. Tu respuesta menciona INCLUDE_PATHpero quisiste decir INCLUDEPATH. Arreglaré tu respuesta :)
Nathan Osman
66
Es mejor usar las QMAKE_CXXFLAGSvariables en su lugar, ya que INCLUDEPATHes defectuoso (al menos en este momento - QT5). Es decir, cuando incluí INCLUDEPATH += ../../../, el QT simplemente eligió al azar el directorio en esta ruta, y el compilador obtuvo la opción -I../../../GUI.
Hola Ángel
44
@ Hi-Angel: Parece que lo INCLUDEPATHespecificado es relativo al directorio de compilación, no relativo al directorio con el .proque uno podría suponer fácilmente. Como se muestra en mi edición de la respuesta, puede usar `$$ PWD 'para obtener una carpeta claramente definida para iniciar la ruta de inclusión.
ssc
6

Para agregar una ruta de inclusión global, use el comando personalizado para qmake en la sección Proyectos / Compilación / Pasos de compilación en "Argumentos adicionales" como este: "QT+=your_qt_modules" "DEFINES+=your_defines"

Creo que puede usar cualquier comando de los archivos * .pro de esa manera.

Alex Maltsev
fuente
5

Para cualquier persona completamente nueva en Qt Creator como yo, puede modificar el archivo .pro de su proyecto desde Qt Creator:

ingrese la descripción de la imagen aquí

Simplemente haga doble clic en "su nombre de proyecto" .pro en la ventana Proyectos y agregue la ruta de inclusión en la parte inferior del archivo .pro como lo he hecho.

Adán
fuente
55
Usar rutas de archivos absolutas es una muy mala idea. Siempre trate de usar el sistema de ruta de archivo relativo. QT está diseñado para ser multiplataforma. Y si compila el mismo código en una máquina Linux, el compilador no podrá encontrar esos nombres de archivo como C: \ Además, incluso si cambia el nombre de la carpeta de origen o la mueve a otro lugar en su propia computadora, aún fallará, y usted tendrá que editar el archivo .pro cada vez
Shivam Jha
0

Si usa Makefiles personalizados, puede hacer doble clic en el archivo .includes y agregarlo allí.

karsten
fuente