C++ travisci与C++;14和Linux
类似的: 如何让Travis CI使用C++14 这是我们当前的C++ travisci与C++;14和Linux,c++,makefile,continuous-integration,c++14,travis-ci,C++,Makefile,Continuous Integration,C++14,Travis Ci,类似的: 如何让Travis CI使用C++14 这是我们当前的.travis.yml文件: language: cpp compiler: - gcc - clang os: - linux - osx script: make main 这是我们的makefile # Factor Pro # Macros CXXFLAGS = -Os -std=c++14 # Rules all::main main: main.cpp g++ -o main $(CXXF
.travis.yml
文件:
language: cpp
compiler:
- gcc
- clang
os:
- linux
- osx
script:
make main
这是我们的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
它适用于
osx
,但不适用于linux
默认的GCC和Clang版本已经非常过时,您需要手动安装更新的版本,如下所示:
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
您可以安装多个版本的Clang和GCC
注意:我使用的是language:generic
,因为如果language:cpp
,TravisCI的CC
和CXX
会覆盖每个单元格的导出,而且速度更快
我也建议你使用
$(CXX) -o main $(CXXFLAGS) main.cpp
<>因为在现实世界中C++编译器几乎从来没有代码> G++< /C>。你需要忍受C++编译器支持C++ 14。尝试打印“g++-v”。如有必要,添加一个足以编译代码的包。@PyRulez
*sources
是对第11行上一个&sources
的“反向引用”——标记为&sources
的属性下的整棵树被复制到标记为*sources
的属性下。