clang ++:致命错误:'unistd.h'文件未找到

12 c++ macos llvm clang unistd.h

使用OS X 10.10.2,我下载了适用于Mac OS X v.3.6.0的Clang,并尝试编译一个简单的Hello World程序.

我使用的命令是:(
假设你下载clang.)

cd .
./clang+llvm-3.6.0-x86_64-apple-darwin/bin/clang++ main.cpp
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

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
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为没有文件unistd.h,可以通过验证

find . -name unistd.h
Run Code Online (Sandbox Code Playgroud)

产生0结果.

我尝试下载LibC++源代码 v.3.6.0,但即便如此也没有unistd.h.我在哪里可以找到该文件的官方/ vanilla版本,以及由它引用和元引用的文件?

use*_*267 7

Clang不包括交流库或系统头,如果你想在OS X上编程,你需要安装Xcode.如果你不想安装整个Xcode包,这个页面有更多的细节,你可以逃脱仅限命令行工具.

一旦安装了Xcode /命令行工具,您可以使用Xcode或您下载的版本的clang和gcc版本,但如果您想要使用最新版本的任何一个,通常更容易使用MacportsHomebrew.

  • 可以通过运行`xcode-select --install`来安装Xcode的命令行工具(每当更新Xcode时,您都需要重新安装它们) (2认同)