我想用clang(3.3)替换gcc来构建我的C ++ 11代码,所以我应该使用clang的选项-stdlib=libstdc++
(让它看到STL头文件)。该选项有效:clang看到string
之类的标题,但找不到c ++ 11标题(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
...
如何让它看看GCC标题的永不版本?
据我所知,C ++ 11的clang只支持libc ++(不是libstdc ++),所以安装libc ++的唯一方法是什么?
答案 0 :(得分:1)
卸载gcc 4.2或使用--gcc-toolchain=<value>
选项。
--gcc-toolchain=<value> Use the gcc toolchain at the given directory
例如:clang++ --gcc-toolchain=/usr/local/... -stdlib=libstdc++ ...
据我所知,C ++ 11的clang只支持libc ++(不是libstdc ++),所以安装libc ++的唯一方法是什么?
支持两种C ++标准库。