如何从源与存储库中安装相同的结果安装相同的结果

How to achieve the same result installing boost from source as from a repository?

本文关键字:安装 结果 存储      更新时间:2023-10-16

当使用以下代码安装boost时,可以简单地使用#include <boost/whatever.hpp>将其包含在项目中:

sudo apt install libboost-dev

根据Boost安装说明,可以使用$BOOST_ROOT实现#include <boost/whatever.hpp>

当通过存储库安装Boost时,$BOOST_ROOT不存在。

当从存储库中安装增压时,实际上会发生什么,以及如何从源安装时如何实现相同的结果?

gcc具有默认的搜索路径。当您从源中编译Boost并运行make install时,它将其安装到目录中,称为" BOOST_ROOT"。由于该目录不在GCC的默认搜索路径中以include文件,因此您必须额外加入英里才能使程序在编译时查找标题。

Boost DEB软件包将标题安装到/usr/include/boost中。由于/usr/include在GCC标头搜索中,因此不需要额外的工作。

如果要复制该行为,建议您指示Boost安装到/usr/local/include/boost

/usr/local目录专门用于安装本地编译的库,因此它比DEB安装的/usr/include更好。这也避免了碰撞。更好的是,它是GCC的标题文件默认搜索路径。