简体   繁体   中英

Travis CI with C++14 and Linux

Similar: Travis CI with Clang 3.4 and C++11

How does one get Travis CI to work with C++14?

Here is our current .travis.yml file:

language: cpp
compiler:
 - gcc
 - clang
os:
 - linux
 - osx
script:
    make main

Here is our makefile

# Factor Pro

# Macros
CXXFLAGS = -Os -std=c++14

# Rules
all::main

main: main.cpp
    g++ -o main $(CXXFLAGS) main.cpp

clean:
    rm -rf *.o main

It works on osx , but not linux .

The default GCC and Clang versions are horribly outdated, and you'll need to install newer versions manually like this:

language: generic
os: osx
matrix:
  include:
    - os: linux
      env: COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
      addons:
        apt:
          packages:
            - g++-5
          sources: &sources
            - llvm-toolchain-precise-3.8
            - ubuntu-toolchain-r-test
    - os: linux
      env: COMPILER_NAME=clang CXX=clang++-3.8 CC=clang-3.8
      addons:
        apt:
          packages:
            - clang-3.8
          sources: *sources

You can install multiple versions of Clang and GCC like this .

Note: I'm using language: generic , because if language: cpp , TravisCI's horribly-outdated CC and CXX override per-cell exports and it's faster.

I also recommend you use

    $(CXX) -o main $(CXXFLAGS) main.cpp

Because the C++ compiler is almost never g++ in the real world.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM