Linux下boost库环境搭建

本文详细描述了在Ubuntu22.04系统上下载并安装Boost1.82.0版本的过程,包括检查系统需求、安装必要的编译工具、执行bootstrap和b2编译步骤,以及配置头文件和库文件路径。
摘要由CSDN通过智能技术生成

下载boost安装包

我的ubuntu系统版本是22.04.4
在这里插入图片描述
(我发现这两个版本之间可能存在关系,如果boost版本老但是ubuntu版本新可能存在问题)

我是在官网下载的最新版本1_82_0(至博客写成时),官网地址
在这里插入图片描述

开始安装

将压缩包放在指定路径下,然后在文件夹中右键打开终端:

name@name:~file$ ls
boost_1_82_0.tar.gz
name@name:~file$ tar -zxvf boost_1_82_0.tar.gz
name@name:~file$ ls
boost_1_82_0  boost_1_82_0.tar.gz
name@name:~file$ cd boost_1_82_0
name@name:~file/boost_1_82_0$ ls
boost            boostcpp.jam  boost.png      bootstrap.sh  index.htm   INSTALL  libs             more     status
boost-build.jam  boost.css     bootstrap.bat  doc           index.html  Jamroot  LICENSE_1_0.txt  rst.css  tools

如果是没安装过g++编译器的,需要先安装。我直接安装了一个软件包组,名称为 “build-essential”,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。

sudo apt update
sudo apt install build-essential

这个命令将会安装一系列软件包,包括gcc,g++,和make。
通过运行下面的命令,打印 GCC 版本,来验证 GCC 编译器是否被成功地安装。gcc --version

运行bootstrap.sh工程编译构建程序:

name@name:~file/boost_1_82_0$ ./bootstrap.sh 
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2
    
To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help
     
   - Getting started guide: 
     http://www.boost.org/more/getting_started/unix-variants.html
     
   - Boost.Build documentation:
     http://www.boost.org/build/doc/html/index.html

name@name:~file/boost_1_82_0$ ls
b2     boost-build.jam  boost.png      bootstrap.sh  index.html  libs             project-config.jam  tools
bjam   boostcpp.jam     bootstrap.bat  doc           INSTALL     LICENSE_1_0.txt  rst.css
boost  boost.css        bootstrap.log  index.htm     Jamroot     more             status

源码根目录下生成了b2程序,运行b2程序如下:

name@name:~file/boost_1_82_0$ ./b2

编译完成后,会有如下打印:

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

/home/tony/file/boost_1_82_0(因人而异)

The following directory should be added to linker library paths:

/home/tony/file/boost_1_82_0/stage/lib(因人而异)

最后,再把上面的boost库头文件和lib库文件安装在默认的Linux系统头文件和库文件的搜索路径下。

头文件路径:
将头文件路径/home/tony/package/boost_1_82_0添加到默认的头文件搜索路径中,通常默认的头文件搜索路径是 /usr/include。
你可以通过执行以下命令将头文件路径添加到默认的头文件搜索路径中(需要管理员权限):
sudo cp -r /home/tony/file/boost_1_82_0 /usr/include
库文件路径:
将库文件路径/home/tony/file/boost_1_82_0/stage/lib添加到默认的库文件搜索路径中,通常默认的库文件搜索路径是 /usr/lib 或 /usr/lib64。
你可以通过执行以下命令将库文件路径添加到默认的库文件搜索路径中(需要管理员权限):
sudo cp /home/tony/file/boost_1_82_0/stage/lib/* /usr/lib

有说接下来的./b2工作可能因为安装的是boost的最新版本1_82_0导致出现问题的,需要安装python-dev,所以我直接安装了它,不知道不安装是不是确实出现问题。sudo apt-get install python-dev

之后运行命令name@name:~file/boost_1_82_0$ ./b2 install运行完打印出来应该是…updated 14831 targets…,我运行出来是100多点的target,因此我又运行了一边,这次17297了。

验证安装boost是否成功,通过下面的代码验证一下:

touch test.c

到图形界面双击点开,输入下面代码

#include <iostream>
#include <boost/bind/bind.hpp>
#include <string>
using namespace std;
using namespace boost::placeholders;
class Hello
{
public:
	void say(string name) 
	{ cout << name << " say: hello world!" << endl; }
};

int main()
{
	Hello h;
	auto func = boost::bind(&Hello::say, &h, "zhang san");
	func();
	return 0;
}

然后执行g++ -o test test.c -std=c++11,之后ls应该能看见出现了一个文件test.c,然后./test

出现
zhang san say: hello world!
成功!!!

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Linux安装Boost,可以按照以下步骤进行操作: 1. 打开终端并输入以下命令以更新软件包列表: sudo apt-get update 2. 然后,输入以下命令以安装Boost: sudo apt-get install libboost-all-dev 3. 安装完成后,您可以使用以下命令检查Boost版本: dpkg -s libboost-dev | grep Version 4. 如果您需要使用特定的Boost,例如Boost Filesystem,可以使用以下命令安装: sudo apt-get install libboost-filesystem-dev 5. 安装完成后,您可以在代码中包含所需的Boost头文件并链接所需的。 希望这可以帮助您安装Boost。 ### 回答2: 在Linux系统上安装Boost可以大幅度提高C++程序的效率和性能。Boost是一个基于C++的集合,可以提供许多实用的工具和组件供程序员使用和解决问题。 以下是在Linux系统上安装Boost的步骤: 第一步,下载Boost压缩包并解压。可以到Boost官网或其它第三方网站下载。解压之后会看到一个目录,其中包含一个类似“boost_1_73_0”的子目录。 第二步,打开终端并进入到解压后的子目录中。运行以下命令: ``` ./bootstrap.sh --prefix=/usr/local ``` 这个命令会在当前目录生成一个b2编译器,在安装时将安装到/usr/local目录下。 第三步,运行以下命令: ``` ./b2 install ``` 这个命令将会编译和安装Boost到/usr/local目录下。编译过程需要一定的时间,要耐心等待。 第四步,配置环境变量。打开终端并输入以下命令: ``` sudo vim /etc/profile ``` 在文件的末尾添加一行: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ``` 保存文件并退出。运行以下命令使环境变量立即生效: ``` source /etc/profile ``` 这样Boost安装好了,并且配置好了环境变量,可以在编译C++程序时使用Boost提供的各种功能和组件。 以上就是在Linux系统上安装Boost的步骤,如果出现问题可以参照相关的错误提示或到互联网上搜索解决方案。 ### 回答3: Linux安装Boost可以分为两种方式:二进制方式和源代码编译方式。如果您想使用Boost的最新版本或者某些特定功能,建议使用源代码编译方式安装。 1.二进制方式: Boost官网提供了Linux x86_64系统下的二进制包下载,您可以直接下载并安装。以CentOS 7为例,下载链接为:https://dl.bintray.com/boostorg/release/1.72.0/binaries/boost_1_72_0.tar.gz 使用以下命令进行解压: tar -zxvf boost_1_72_0.tar.gz 之后您可以将Boost头文件和文件复制到您需要的目录中,比如: cp -r boost_1_72_0/boost /usr/local/include cp -r boost_1_72_0/stage/lib/* /usr/local/lib 这样就完成了Boost安装。不过需要注意一点,由于Boost文件较多,如果您不确定需要哪些文件,可以直接复制整个stage/lib目录下的文件。 2.源代码编译方式: 下载Boost的源代码:https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz 解压后进入boost_1_72_0目录,使用以下命令进行编译和安装: ./bootstrap.sh --prefix=/usr/local ./b2 install bootstrap.sh脚本用于配置编译环境,--prefix=/usr/local参数表示安装路径为/usr/local。执行b2 install命令即可开始编译并安装Boost,此过程需要等待一段时间。 使用以上两种方法中的任一一种,就可以安装BoostLinux系统中了。在使用时需要包含对应的头文件和文件,例如: #include <boost/algorithm/string.hpp> -L /usr/local/lib -lboost_system 需要注意的是,如果是使用源代码编译方式安装,需要确保您的系统已经安装Boost依赖的工具和,建议使用系统自带的包管理器进行安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

x_fengmo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值