c++ - library - ¿Cuáles son los directorios de inclusión predeterminados de GCC?
gcc library path (3)
Cuando compilo un archivo fuente muy simple con gcc, no tengo que especificar la ruta a archivos de inclusión estándar como stdio o stdlib.
¿Cómo sabe GCC cómo encontrar estos archivos?
¿Tiene la ruta /usr/include
cableada dentro, o obtendrá las rutas de otros componentes del sistema operativo?
Aquí hay un artículo que describe las rutas de búsqueda de gcc: http://www.network-theory.co.uk/docs/gccintro/gccintro_21.html
Además, puede especificar rutas de búsqueda adicionales con el -I
. Puede hacer esto desde la línea de comando o en su archivo MAKE.
Hay un comando con un resultado más corto, que permite cortar automáticamente los pathes de las líneas, comenzando con un solo espacio:
$ echo | gcc -Wp,-v -x c++ - -fsyntax-only
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/x86_64-redhat-linux
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/backward
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include
/usr/local/include
/usr/include
End of search list.
El crédito va a la front-page libc ++.
Para averiguar las rutas predeterminadas utilizadas por gcc / g ++, así como sus prioridades, examine el resultado de los siguientes comandos:
Para C:
gcc -xc -E -v -
Para C ++:
gcc -xc++ -E -v -
El crédito es para el equipo de Qt Creator.