为什么 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 编译器兼容 [或提供clang
或 clang++
以及正确的 -fms-compatibility
或任何名称。
或者按照其他答案中的建议,使用 libcxx
,但 Windows 还没有 100% 完成。
我从 this website 下载了 Clang 3.6.2,并尝试在 Windows 下使用 Code::Blocks 对其进行设置。不幸的是,它无法编译一个简单的"hello world"程序,理由是它不知道iostream
在哪里。
查看安装文件夹,似乎没有包含标准库。为什么?我如何获得它?
他们确实有一个 c++ 标准库:libcxx.llvm.org。但 windows 平台不完全支持它。
标准库不是编译器本身的一部分。它是特定平台上运行时环境的一部分。当然,一些组织将 "kit" 与构建应用程序所需的所有部分放在一起——甚至可能有人将 Clang 编译器与合适的运行时打包在一起。
一般来说,您应该能够下载 Windows SDK 并在那里获得相关的头文件 - 如果您使用 clang-cl
,它应该在很大程度上与 MSVC 编译器兼容 [或提供clang
或 clang++
以及正确的 -fms-compatibility
或任何名称。
或者按照其他答案中的建议,使用 libcxx
,但 Windows 还没有 100% 完成。