Просмотр по умолчанию включает путь заголовков C в Mac OS X на `gcc -v`?

Я попытался найти путь включения по умолчанию компилятора C в Mac OS X (Mavericks), используя gcc -v:

$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

Мне кажется, что путь /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1, но я боюсь, что это не истинный путь. Я думаю, что истинным путем для включения стандартной библиотеки C является /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include, потому что <sys/syscall.h> находит в более позднем пути, который /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/sys/syscall.h

Есть ли у кого-нибудь идеи о том, как просмотреть все стандартные по умолчанию пути библиотеки C в Mac OS X?

Ответ 1

Вам нужно запросить препроцессор, а не gcc, для указания пути включения по умолчанию.

Вы можете сказать:

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

Чтобы указать путь по умолчанию для C и С++:

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

(Путь, который вы указали выше, является тем, который использовался для настройки GCC при построении.)


Другой способ перечислить путь включения по умолчанию:

gcc -x c -v -E /dev/null

gcc -x c++ -v -E /dev/null     # (for C/C++)