【发布时间】:2019-08-08 00:43:33
【问题描述】:
我正在尝试从源代码安装 Boost C++。
我首先尝试使用 yum 将它们安装在(Amazon Linux AMI)中,但它安装的版本太旧了。我至少需要 1.54 版
所以我尝试按照此处的说明进行操作: https://www.boost.org/doc/libs/1_70_0/more/getting_started/unix-variants.html
下载源代码后,我尝试将头文件符号链接到 /usr/include:
ln -s /root/boost_1_70_0/boost /usr/include/boost
然后我按照说明尝试构建:
cd /root/boost_1_70_0
./bootstrap.sh
./b2 install
然后,当我尝试编译需要 boost 库(恰好是 OSRM)的程序时,我收到此错误:
make[2]: *** No rule to make target `/usr/lib64/libboost_date_time-mt.so', needed by `osrm-components'. Stop.
所以似乎我需要构建 boost .so 文件以进入 /usr/lib64。但是我该怎么做呢?
【问题讨论】:
-
恐怕你需要花一些时间来学习你的 Linux 发行版(rpm 或 deb)的原生打包基础架构,所以你可以通过创建一个可以由 Linux 发行版的包管理器安装。否则,像这样,在不利用 Linux 发行版包管理器的依赖检查安全网的情况下,使用定制的不同版本的核心系统库来主动覆盖系统安装的库,是一种相当有效的方式来结束一块无法启动的砖块。
-
我可以建议你看看柯南吗? docs.conan.io/en/latest/getting_started.html