如何让clang搜索gcc的标题?

pav*_*din 6 c++ gcc clang c++11 libc++

我想用clang(3.3)替换gcc来构建我的C++ 11代码,所以我应该使用clang的选项-stdlib=libstdc++(让它看到STL头文件).该选项有效:clang看到类似的标题string,但找不到c ++ 11 headers(type_traits),因为clang在4.2目录中搜索:

clang++ -stdlib=libstdc++ -E -x c++ - -v < /dev/null
...
/usr/include/c++/4.2
/usr/include/c++/4.2/backward
/usr/include/clang/3.3
/usr/include
...
Run Code Online (Sandbox Code Playgroud)

如何让它看看GCC标题的永不版本?

据我所知,C++ 11的clang只支持libc ++(而不是libstdc ++),所以安装libc ++的唯一方法是什么?

Tho*_*mas 1

卸载 gcc 4.2 或使用该--gcc-toolchain=<value>选项。

--gcc-toolchain=<value> Use the gcc toolchain at the given directory
Run Code Online (Sandbox Code Playgroud)

例如:clang++ --gcc-toolchain=/usr/local/... -stdlib=libstdc++ ...

据我了解,C++11 的 clang 仅支持 libc++(不是 libstdc++),所以安装 libc++ 的唯一方法是什么?

两个 C++ 标准库均受支持。