hen*_*gen 17
配置travis以使用正确的编译器有点棘手.这是如何做到的:
首先,您需要将分发设置为trusty(由travis-ci支持的最新版本的ubuntu)并且需要sudo.
dist: trusty
sudo: require
Run Code Online (Sandbox Code Playgroud)
接下来我们设置语言和编译器:
language: cpp
compiler: gcc
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.现在我们可以开始设置apt安装配置:
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
- cmake
Run Code Online (Sandbox Code Playgroud)
这为我们的构建工具的新版本添加了ppa并安装它们.下一步是设置新gcc和g ++的链接./usr/local/bin之前正在搜索/usr/bin,以便我们新安装的版本6编译器只需gcc和g++.你的开头script:应该是这样的:
script:
- sudo ln -s /usr/bin/gcc-6 /usr/local/bin/gcc
- sudo ln -s /usr/bin/g++-6 /usr/local/bin/g++
Run Code Online (Sandbox Code Playgroud)
如果要验证这些工具的版本,请添加下一行:
- gcc -v && g++ -v && cmake --version
Run Code Online (Sandbox Code Playgroud)
从这些命令返回的版本如下:
gcc: 6.2.0
g++: 6.2.0
cmake: 3.2.2
Run Code Online (Sandbox Code Playgroud)
基本上就是这样.完整的.travis.yml看起来像这样:
dist: trusty
sudo: required
language:
- cpp
compiler:
- gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
- cmake
script:
# Link gcc-6 and g++-6 to their standard commands
- ln -s /usr/bin/gcc-6 /usr/local/bin/gcc
- ln -s /usr/bin/g++-6 /usr/local/bin/g++
# Export CC and CXX to tell cmake which compiler to use
- export CC=/usr/bin/gcc-6
- export CXX=/usr/bin/g++-6
# Check versions of gcc, g++ and cmake
- gcc -v && g++ -v && cmake --version
# Run your build commands next
Run Code Online (Sandbox Code Playgroud)
我在@ henne90gen的答案中发现了一些错误(或者也许它们刚刚更改了)。特别:
sudo。gcc-7尚未安装,/usr/local/bin并且已经在中PATH。这应该工作:
dist: trusty
language: cpp
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-7
- g++-7
script:
- export CC=gcc-7
- export CXX=g++-7
- ...
Run Code Online (Sandbox Code Playgroud)
这是一个更长的示例,其中包括现代版本的Qt(我正在使用QtSVG),并且可以在OSX和Linux上运行。
os:
- linux
- osx
language: cpp
dist: trusty
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: "ppa:beineri/opt-qt-5.10.1-trusty"
packages:
- gcc-7
- g++-7
- qt510-meta-minimal
- qt510svg
- qt510imageformats
- qt510tools
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update ;
brew install qt5 cmake ;
brew link --force qt ;
fi
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export CC=gcc-7 ;
export CXX=g++-7 ;
source /opt/qt510/bin/qt510-env.sh ;
fi
- cmake --version
- qmake --version
- ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |