library c++ c linux gcc include-path

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?



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:

  1. Para C:

    gcc -xc -E -v -

  2. Para C ++:

    gcc -xc++ -E -v -

El crédito es para el equipo de Qt Creator.