¿Dónde se encuentran los archivos de encabezado para GCC?


10

Quiero agregar manualmente algunos archivos de encabezado como math.hy graphic.hpara gccpero no sé dónde colocarlos.

Respuestas:


13

Primero eche un vistazo a /usr/includeo /usr/local/include.

Si no encuentra nada allí, intente:

`gcc -print-prog-name=cc1plus` -v

Este comando le pregunta a gcc qué preprocesador de C ++ está usando y luego le pregunta a ese preprocesador dónde busca incluir.

Obtendrá una respuesta confiable para su configuración específica.

Del mismo modo, para el preprocesador C:

`gcc -print-prog-name=cc1` -v

6

Si solo desea saber dónde se ubica el archivo, simplemente use el comando de localización :

locate -b '\math.h'
locate -b '\graphics.h'

Quizás tenga más para actualizar su base de datos antes:

sudo updatedb

Así es como estoy buscando la ubicación de mi encabezado. Es mucho más rápido que usar el comando find .


math.hYa debería estar presente. Ejemplo:/usr/include/c++/7.3.0/math.h
Knud Larsen el

Normalmente, simplemente incluye la biblioteca
abu_bua

¿Cómo actúa la barra diagonal inversa para evitar la coincidencia de archivos con caracteres anteriores en su nombre base? La cadena \math.hdebería evaluar math.h, pero veo que \math.hevita que coincidan los archivos como tgmath.hy quadmath.h.
user001

1
FROM 'man localizar': para buscar un archivo llamado exactamente NOMBRE (no * NOMBRE *), use localizar -b '\ NOMBRE' Debido a que \ es un carácter global, esto deshabilita el reemplazo implícito de NOMBRE por * NOMBRE *.
abu_bua

Gracias. Lo había verificado man locate, pero supongo que tengo una versión diferente de la locate(1)página de manual (que no tiene una instancia de \ ).
user001
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.