我尝试通过多种方式在 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 多分钟就被终止了。 除了 Travis CI 的默认 boost 版本之外,是否有任何简单(或只是有效)的安装方式?
最佳答案
要查看哪些包可用(尤其是当您添加额外的存储库时),您可以运行“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/