c++ - Travis CI 与 Clang 3.4 和 C++11

标签 c++ c++11 clang travis-ci clang++

是否可以让 Travis CI 与支持 C++11 的 Clang 一起工作? (我想要 Clang,而不是 GCC,我已经在 Travis CI 中使用了 GCC 4.8。)似乎预装的版本不支持 C++11。我安装任何新版本的所有尝试都以 failing because of this 告终:

In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/move.h:57:   
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:269:39: error:
use of undeclared identifier '__float128'
struct __is_floating_point_helper<__float128>

我看过-D__STRICT_ANSI__ trick但这与我的其他事情发生冲突。

是否有可能让它工作?另见我的.travis.yml .

最佳答案

现在有 a better way to do this .

sudo: false
dist: trusty
language: cpp
os:
  - linux
compiler:
  - gcc
  - clang
install:
# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
- if [[ $CXX = g++ ]]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
# /usr/bin/clang has a conflict with gcc, so use clang-X.Y.
- if [[ $CXX = clang++ ]]; then export CXX="clang++-3.5" CC="clang-3.5"; fi
addons:
  apt:
    sources:
    - ubuntu-toolchain-r-test
    - llvm-toolchain-precise-3.5 # not sure why we needed this
  packages:
    - gcc-4.9
    - g++-4.9
    - clang-3.5

(根据 Travis 支持,显式 sudo: false 将让它在 Docker 中构建(为了速度),即使你有一个 pre-docker repo,根据 Travis 支持。)

感谢 solarce在 Travis 支持注意到我的错误并修复文档。

关于c++ - Travis CI 与 Clang 3.4 和 C++11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22111549/

相关文章:

c++ - 如何破译COM函数返回的hr返回值 "-1072875847"?

c++ - 是否将两个 void 指针与 C++ 中定义的不同对象进行比较?

c++ - 将任意 lambda 表达式传递给函数?

c++ - 是否有任何理由将 final 说明符与 union 一起使用?

c++ - 为所有 iOS 架构编译 c++ 文件

C++ 错误 : call to non-static member function without an object argument

C++ 错误 : object of abstract class type is not allowed: pure virtual function has no overrider

c++ - 俄罗斯方 block 移动二维数组

c++ - 如何保证移动不妨碍RVO?

c++ - 使模板函数编译失败并显示错误消息