OS X 10.10.2を使用して Mac OS XのClang v。3.6.0をダウンロードし、簡単なHello Worldプログラムをコンパイルしてみます。
私が使用するコマンドは次のとおりです。
(clang
を.
にダウンロードしたと想定)
cd .
./clang+llvm-3.6.0-x86_64-Apple-darwin/bin/clang++ main.cpp
結果はこれです:
In file included from main.cpp:1:
In file included from ./clang+llvm-3.6.0-x86_64-Apple-darwin/bin/../include/c++/v1/iostream:37:
./clang+llvm-3.6.0-x86_64-Apple-darwin/bin/../include/c++/v1/__config:23:10: fatal error: 'unistd.h' file not
found
ファイルunistd.h
がないため、これは、
find . -name unistd.h
0
の結果が得られます。
LibC++ソースコード v。3.6.0をダウンロードしてみましたが、unistd.h
が含まれていません。そのファイルの公式/バニラバージョン、およびそれによって参照され、メタ参照されているファイルはどこにありますか?
xcode-select --install
を実行すると、そのエラーは消えました。
(私はHomeBrewのLLVMとclangのみを定期的に更新しているため、上記のコマンドを使用して修正するまで、私の元のmacosヘッダーは古く、存在していなかったはずです。)
unistd.h
はCまたはC++ヘッダーではありません!これはPOSIXヘッダーです。
XCodeはそれから来るのでインストールできますが、それがClangランタイムと互換性があるかどうかは正直わかりません。私はMacの人ではありません。
おそらく、代替案を見つけることができます。たとえば、必要な方法はありませんunistd.h
「Hello world」プログラムをコンパイルするには!