[英]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.