kakts-log

programming について調べたことを整理していきます

mac OS X において gccのインクルードパスの探し方

 C言語でプログラミングする際に、stdio.hとか、いつも使う標準Cライブラリのヘッダーについて気になって調べようとするときに、gccがどこからヘッダファイルをincludeしているかわからない時があります。
いろいろ調べてみると、macでも、linuxディストリビューションでも/usr/includeにあるということなのですが、環境によって微妙に違くて探すのに苦労します。

 そこで、gcc -vオプションを使えば、gccがどこからincludeしているのか調べることが出来ます

gcc -v test.c コマンドを実行すると

#include <...> search starts here:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include

 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks (framework directory)

みたいなかんじでinclude先が出てくるので、そこを調べていけば見つかります