macOSでclangを使おうとしたら標準のヘッダーファイルがないと言われた
問題
例えば,
#include <stdio.h> int main() { printf("HelloWorld\n"); return 0; }
のようなコードをclangでコンパイルをしようとしたら
HelloWorld.c:1:10: fatal error: 'stdio.h' file not found #include <stdio.h> ^~~~~~~~~ 1 error generated.
というようなエラーが出た.
原因
stdio.h
がないということなので,標準ライブラリのヘッダーが正しく設定されてないと考えられる.
そこでclangの-I
オプションで/usr/include
,または/usr/local/include
を指定しようとしたところ,そもそもヘッダーファイルが存在しないということがわかった.
解決策
以下のコマンドでXcode Command Line Toolsをインストールすればよい.
xcode-select --install
この方法を用いた場合,コンパイル時にclangの-I
オプションでパスを指定する必要はない.