加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何在Travis CI中使用最新的升级版本?

发布时间:2020-12-16 10:14:14 所属栏目:百科 来源:网络整理
导读:我尝试以几种方式在Travis CI环境中安装boost 1.64.但他们都没有成功. 在我的第一次天真尝试中,我刚刚在travis脚本中添加了以下行: install: - sudo apt-get install libboost1.64-all-dev 结果是错误消息:找不到包libboost1.64-all-dev 在第二次尝试中,我
我尝试以几种方式在Travis CI环境中安装boost 1.64.但他们都没有成功.
在我的第一次天真尝试中,我刚刚在travis脚本中添加了以下行:

install:
  - sudo apt-get install libboost1.64-all-dev

结果是错误消息:找不到包libboost1.64-all-dev

在第二次尝试中,我使用必要的boost版本指定了存储

before_install:
  - sudo add-apt-repository -y ppa:nschloe/boost-nightly
  - sudo apt-get update -qq
install:
  - sudo apt-get install libboost-all-dev
  # - sudo apt-get install libboost1.64-all-dev (also tried)

在第一种情况下安装了默认升压版本(1.54).
在第二种情况下结果是相同的错误消息:找不到包libboost1.64-all-dev

在第三次尝试中,我手动键入指令以安装boost:

install:
  - sudo wget -O boost_1_64_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.gz/download
  - sudo tar xzvf boost_1_64_0.tar.gz
  - cd boost_1_64_0/
  - sudo ./bootstrap.sh --prefix=/usr/local
  - sudo ./b2
  - sudo ./b2 install

结果我的脚本花了超过30分钟然后被终止.
是否有任何简单(或仅仅是正常工作)的方式来安装除Travis CI之外的默认升级版本?

解决方法

预编译Boost

以下是我遵循的步骤:

>在launchpad上搜索,直到我发现最近的可靠环境增强包构建.这不是一件轻而易举的事,但目前维护的ppa名为libboost-latest
>我发现正确配置.travis.yml以使用ppa非常重要,所以我提出了一个工作片段,我希望能帮助其他人解决同样的问题.

以下适用于clang和gcc:

language: cpp
dist: trusty
sudo: false
os: linux

matrix:
  include:
    - env: COMPILER=g++-6 BUILD=Debug STANDARD=14
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - sourceline: 'ppa:mhier/libboost-latest'
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
            - boost1.67
    - env: COMPILER=g++-6 BUILD=Release STANDARD=14
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - sourceline: 'ppa:mhier/libboost-latest'
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
            - boost1.67
# the rest of your yaml file...

希望mhier能保持这个ppa运行一段时间,否则你将不得不通过第1步,或者提供你自己的ppa.随着升级版本编号的进展,包裹编号将发生变化,因此请检查ppa page以使包裹名称保持最新.

完整的工作示例可以在monstar github project找到.

从源代码编译提升
您也可以在travis构建中编译源代码,尽管您有超时的风险.有关此内容的说明,请参见boost best practice handbook的第12项

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读