如何从源与存储库中安装相同的结果安装相同的结果
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
不存在。
当从存储库中安装增压时,实际上会发生什么,以及如何从源安装时如何实现相同的结果?
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的标题文件默认搜索路径。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- valgrind-hellgrind与泄漏检查的结果不同
- 在Ubuntu 16.04上安装Cilk时出现问题
- 用C++20 fmt限制结果的总大小
- 如何返回一个类的两个对象相加的结果
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- C++:如何在CLion IDE中安装Boost
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 序列化,没有库的整数,得到奇怪的结果
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 在更改for循环的第三部分后,未使用for循环结果
- 使用++运算符会导致意外的结果
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- C++Brute Force攻击函数不会返回结果
- 安装opencv失败-粘贴CMakeError.log的内容
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 如何从源与存储库中安装相同的结果安装相同的结果
- 为什么不同的 GCC 4.9.2 安装为此正则表达式匹配给出不同的结果