我试图以多种方式在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)

在第一种情况下,安装了默认的boost版本(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多分钟,然后被终止。
除了默认的Boost版本以外,是否有任何简单(或仅可行)的方法将其安装到Travis CI?

最佳答案

要查看所有可用的软件包(尤其是在添加额外的存储库时),可以运行“apt-cache search”命令,例如:

sudo apt-cache search libboost

然后,您可以看到可用的版本。

手动构建时,默认情况下会构建“所有内容”(所有静态/共享的调试/发布库),这将花费大量时间,因此可能会超时。

您可以尝试仅构建实际需要的库,例如:
./bootstrap.sh --with-libraries=program_options,filesystem,system
./b2 link=shared threading=multi variant=release

(有关详细信息,请参见此处:http://www.boost.org/build/doc/html/bbv2/overview/invocation.html)

关于c++ - 如何在Travis CI中使用最新的Boost版本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45276457/

10-12 17:07
查看更多