web-dev-qa-db-ja.com

Clangに標準ライブラリヘッダーが付属していないのはなぜですか?

このWebサイト からClang 3.6.2をダウンロードし、WindowsでCode :: Blocksを使用してセットアップしようとしています。残念ながら、iostreamがどこにあるかわからないという理由で、単純な「helloworld」プログラムをコンパイルできません。

インストールフォルダを見ると、標準ライブラリが含まれていないようです。どうして?そして、どうすれば入手できますか?

16
Therhang

標準ライブラリはコンパイラ自体の一部ではありません。これは、特定のプラットフォームのランタイム環境の一部です。確かに、一部の組織は、アプリケーションを構築するために必要なすべての部分を備えた「キット」をまとめています。適切なランタイムでClangコンパイラーをパッケージ化する人さえいるかもしれません。

一般に、 Windows SDK をダウンロードして、そこに関連するヘッダーファイルを取得できるはずです-そしてclang-clを使用する場合は、MSVCコンパイラとほぼ互換性があるはずです[またはclangを提供しますまたはclang++と正しい-fms-compatibilityまたはそれが呼ばれるもの]。

または、他の回答で提案されているように、libcxxを使用しますが、Windowsでは100%完全ではありません。

9
Mats Petersson

それらにはc ++標準ライブラリがあります: libcxx.llvm.org 。ただし、Windowsプラットフォームでは完全にはサポートされていません。

3
Bill Lynch