繁体   English   中英

如何从源代码中实现从存储库安装boost的相同结果?

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

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

sudo apt install libboost-dev

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

通过存储库安装boost但是$BOOST_ROOT不存在。

从存储库安装boost时实际发生了什么,以及从源安装时如何实现相同的结果?

gcc有一个默认的搜索路径。 当您从源代码编译boost并运行make install ,它会将自身安装到一个名为“BOOST_ROOT”的目录中。 由于该目录不在gcc的包含文件的默认搜索路径中,因此您必须加倍努力才能使程序在编译时找到标题。

boost deb软件包将头文件安装到/usr/include/boost 由于/usr/include是在gcc头文件搜索中,因此不需要额外的工作。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM