为什么 Clang 不附带标准库头文件?

Why doesn't Clang come with standard library headers?

我从 this website 下载了 Clang 3.6.2,并尝试在 Windows 下使用 Code::Blocks 对其进行设置。不幸的是,它无法编译一个简单的"hello world"程序,理由是它不知道iostream在哪里。

查看安装文件夹,似乎没有包含标准库。为什么?我如何获得它?

他们确实有一个 c++ 标准库:libcxx.llvm.org。但 windows 平台不完全支持它。

标准库不是编译器本身的一部分。它是特定平台上运行时环境的一部分。当然,一些组织将 "kit" 与构建应用程序所需的所有部分放在一起——甚至可能有人将 Clang 编译器与合适的运行时打包在一起。

一般来说,您应该能够下载 Windows SDK 并在那里获得相关的头文件 - 如果您使用 clang-cl,它应该在很大程度上与 MSVC 编译器兼容 [或提供clangclang++ 以及正确的 -fms-compatibility 或任何名称。

或者按照其他答案中的建议,使用 libcxx,但 Windows 还没有 100% 完成。