c++ - 铛++ : fatal error: 'unistd.h' file not found

标签 c++ macos clang llvm unistd.h

使用 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。我在哪里可以找到该文件的官方/原始版本,以及它引用和元引用的文件?

最佳答案

Clang 不包含 c 库或系统头文件,如果您想在 OS X 上编程,则需要安装 Xcode。This page如果您不想安装整个 Xcode 包,有更多详细信息,您可以只使用命令行工具。

安装 Xcode/命令行工具后,您可以使用 Xcode 附带的 clang 和 gcc 版本,也可以使用您下载的版本,尽管通常使用起来更容易 MacportsHomebrew如果您希望使用其中任何一个的最新版本。

关于c++ - 铛++ : fatal error: 'unistd.h' file not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29357618/

相关文章:

c++ - 关于类对象

c++ - Boost Spirit 规则和语法中模板参数中的括号

swift - 是否可以在 NSTextField 中逐行更改颜色?

c - OSX 和共享内存需要 sudo

macos - 在 Mac os 10.8 上编译 httpd 时,x86_64 出现 undefined symbol "_TLSv1_1_client_method"

c++ - "msvcp90d.dll"中未处理的异常?

regex - 为什么这个正则表达式不起作用 : find ./-regex '.*\(m\|h\)$

c++ - clang-tidy - 忽略第三方标题代码

c++ - 通过 friend 访问类中的 protected 类型 - gcc 允许,clang 不允许

c++ - 解决编译器错误