Gcc 是可复制/可构造的etc支持clang++;和g++;
iso 20.9.4.3 g++的libstdc++-v3不完全支持类型属性[meta.unary.prop];e、 g:Gcc 是可复制/可构造的etc支持clang++;和g++;,gcc,c++11,clang,typetraits,libstdc++,Gcc,C++11,Clang,Typetraits,Libstdc++,iso 20.9.4.3 g++的libstdc++-v3不完全支持类型属性[meta.unary.prop];e、 g: wget -O - https://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/include/std/type_traits 2>/dev/null | grep "still unimplemented" // is_trivially_copyable (still unimplemented) /// is_tri
wget -O - https://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/include/std/type_traits 2>/dev/null | grep "still unimplemented"
// is_trivially_copyable (still unimplemented)
/// is_trivially_constructible (still unimplemented)
/// is_trivially_default_constructible (still unimplemented)
/// is_trivially_copy_constructible (still unimplemented)
/// is_trivially_move_constructible (still unimplemented)
/// is_trivially_assignable (still unimplemented)
/// is_trivially_copy_assignable (still unimplemented)
/// is_trivially_move_assignable (still unimplemented
因此,至少据我所知,基于gcc安装的clang构建将继承这种缺乏实现的缺陷;至少
clang version 3.5.0 (212792)
我几个小时前刚用它建了房子
g++ (Debian 4.8.3-3) 4.8.3
(但它以某种方式使用了gcc-4.9,尽管如此)不支持上述类型特征
但不知怎的,科里鲁 有一个叮当声安装,如果使用
clang++ -std=c++11 -stdlib=libc++ -O2 -Wall -Wextra -pedantic -pthread -pedantic-errors main.cpp -lm -lsupc++ && ./a.out
编译例如本
没有抱怨的榜样
所以必须有方法来编译或设置clang,至少在Linux上,它的头文件也支持那些尚未由libstdc++实现的类型特征
此外,llvm具有以下特性 摘要已经编译,但我不知道如何使用这些“_uuuu”内部函数;他们显然既不住在std::也不住在: -- 因此-如何在Linux上设置或配置最新的llvm/clang,以便clang++具有最多可用的类型特征? 附录回应评论
clang++ -std=c++11 -stdlib=libc++ -O2 -Wall -Wextra -pedantic -pthread -pedantic-errors test_type_traits.cxx -lm -lsupc++
测试类型特征。cxx:1:10:
致命错误:找不到“iostream”文件
#包括
^
生成1个错误。只需完全安装libc++ 给你 它像一个符咒一样构建和安装,现在当像这样调用时,clang确实具有这些类型特征
clang++ -std=c++11 -stdlib=libc++ <other arguments>
clang++-std=c++11-stdlib=libc++
存在一个名为libc++的STL,是否尝试过?这是“宗族主义”。否则,clang将使用libstdc++。实际上,你可以看到coliru在使用它。它存在,但在我的安装中甚至没有。“libc++是苹果OS X上100%完整的C++11实现。”如果没有,它就不会100%完整。也许coliru是在Apple上编译的,但是在任何情况下,你都可以在命令行上看到它正在与之链接。我已经发布了coliru命令行。我已经添加了本地调用的命令的输出。在OSX上可能起作用的东西在这里是离题的;请注意我的问题。但是你给我指出了正确的方向;看看我的答案。谢谢!