使用OS X 10.10.2,我下载Clang for Mac OS X 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++ source code v.3.6.0,但即使不包含unistd.h
。我在哪里可以找到该文件的官方/ vanilla版本,以及由它引用和元引用的文件?
答案 0 :(得分:6)
Clang不包含交流库或系统标题,如果您想在OS X上编程,则需要安装Xcode。This page如果您不想安装,请提供更多详细信息整个Xcode包,你只能使用命令行工具。
一旦安装了Xcode /命令行工具,您可以使用Xcode中包含的clang和gcc版本或您下载的版本,尽管它通常更容易使用Macports或{{3如果您正在寻找使用其中任何一个版本的最新版本。
答案 1 :(得分:3)
运行xcode-select --install
后该错误消失了。
(我只保留HomeBrew的LLVM和clang定期更新,所以我的原始macos标题必须古老/不存在,直到我使用上述命令来修复它。)
答案 2 :(得分:0)
unistd.h
不是C或C ++标头!这是一个POSIX标题。
你可以安装XCode,因为它来自那里,但老实说,我不知道它是否完全与Clang运行时兼容。我不是Mac人。
也许你可以找到另一种选择;例如,你无法unistd.h
编译一个&#34; Hello world&#34;程序<!/强>