significa que programacion programa otro incluir hacer encabezado definicion como cabecera archivos archivo c++ gcc include

c++ - que - ¿Incluir archivos de encabezado usando la opción de línea de comando?



incluir un archivo c en otro (3)

¿Es posible especificar archivos de cabecera adicionales para incluir desde la línea de comandos (usando GCC 4 / C ++)?

¿O hay alguna otra manera de incluir archivos, excepto con #include?

Antecedentes: estoy tratando de compilar una gran base de código en mi propia PC. El código generalmente se compila en un clúster, con un sistema de compilación complicado (SoftRelTools anyone?), Que se entrelaza con el sistema operativo, de modo que es virtualmente imposible instalarlo en otro lugar (literalmente cientos de makefiles y scripts de shell, y hard rutas codificadas a unidades de red). Sin embargo, el código real es bastante directo y compila bien, PERO falta un gran número de inclusiones (principalmente a la " include <vector> " e " include <math.h> "). Supongo que el sistema de compilación se encarga de esto por lo general, pero tengo que pasar por el código y agregar las inclusiones manualmente, lo cual prefiero evitar.


De acuerdo con la documentación de gcc, el cambio de línea de comando "-include file" haría el trabajo.


Del manual de gcc:

-include archivo

Procesar archivo como si el archivo " #include "file" " apareciera como la primera línea del archivo fuente principal. Sin embargo, el primer directorio de búsqueda de archivos es el directorio de trabajo del preprocesador en lugar del directorio que contiene el archivo fuente principal. Si no se encuentra allí, se busca en el resto de la cadena de búsqueda " #include "..." " como es normal.

Si se proporcionan varias opciones de inclusión, los archivos se incluyen en el orden en que aparecen en la línea de comandos.


found la opción -include. ¿Esto es lo que quieres?

-include archivo

Procesar archivo como si el archivo "#include" "" apareciera como la primera línea del archivo fuente principal. Sin embargo, el primer directorio de búsqueda de archivos es el directorio de trabajo del preprocesador en lugar del directorio que contiene el archivo fuente principal. Si no se encuentra allí, se busca en el resto de la cadena de búsqueda "#include" ... "" como es normal.

Si se proporcionan varias opciones de inclusión, los archivos se incluyen en el orden en que aparecen en la línea de comandos.