Um die von gcc
verwendeten Standardpfade herauszufinden /g++
, sowie ihre Prioritäten, müssen Sie die Ausgabe der folgenden Befehle untersuchen:
- Für C :
gcc -xc -E -v -
- Für C++ :
gcc -xc++ -E -v -
Die Anerkennung geht an das Qt Creator Team .
Es gibt einen Befehl mit einer kürzeren Ausgabe, der es erlaubt, die Include-Pfade automatisch aus Zeilen herauszuschneiden, beginnend mit einem einzelnen Leerzeichen:
$ 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.
Der Verdienst geht an die libc++-Startseite.
Um die anderen Antworten zusammenzufassen:
Für C++:
c++ -xc++ /dev/null -E -Wp,-v 2>&1 | sed -n 's,^ ,,p'
Für C:
cc -xc /dev/null -E -Wp,-v 2>&1 | sed -n 's,^ ,,p'