Linux下boost库环境搭建

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

下载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!
成功!!!

### 回答1: 1. 下载boost的源代码包,可以从官网或者其他镜像站点下载。 2. 解压源代码包,进入解压后的目录。 3. 执行以下命令进行编译: ./bootstrap.sh --prefix=/usr/local/boost ./b2 install 这里的--prefix参数指定了boost的安装路径,可以根据自己的需要进行修改。 4. 等待编译完成后,boost就安装成功了。 5. 在使用boost的项目中,需要在编译选项中加入-lboost_xxx参数,其中xxx为具体的名,比如-lboost_system、-lboost_thread等。 ### 回答2: 首先,为什么要安装boost呢?boost是C++语言的一个重要扩展,提供了很多常用的功能模块,包括但不限于多线程、容器、算法、文件系统等,更是很多C++开发框架的基础。 那么,如何在Linux系统中安装boost呢?下面我们来简单介绍一下。 1. 检查系统中是否已经安装了boost 打开终端,输入以下命令检查是否已经安装了boost: ``` $ dpkg -l | grep libboost ``` 若有输出,则表示已经安装了boost,否则需要安装。 2. 下载boost 前往官网https://www.boost.org/下载需要的boost,选择对应版本及操作系统,一般下载的文件格式为.tar.gz。 3. 解压boost 在终端中输入以下命令解压下载的boost: ``` $ tar xfz boost_x_x_x.tar.gz ``` 注意替换掉x_x_x为下载的版本号。 4. 编译boost 进入解压后boost的目录,运行以下命令进行编译: ``` $ ./bootstrap.sh --prefix=/usr/local $ ./b2 ``` 其中--prefix=/usr/local指定安装目录为/usr/local。 5. 安装boost 编译完成后,运行以下命令进行安装: ``` $ sudo ./b2 install ``` 6. 配置环境变量 我们需要将boost的路径配置到系统环境变量中。找到/etc/environment文件,在其中添加: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ``` 保存后退出终端,使用以下命令使之生效: ``` $ source /etc/environment ``` 7. 测试 最后,我们可以写一个简单的C++程序进行测试,代码如下: ``` #include <iostream> #include <boost/version.hpp> int main() { std::cout << "Boost version: " << BOOST_VERSION << std::endl; return 0; } ``` 编译运行后,若能看到输出Boost version: xxxx,则表示安装配置成功。 以上就是Linux系统下安装boost的基本步骤,希望对大家有所帮助。 ### 回答3: 首先,需要从boost官网下载boost的源代码,解压并进入源代码的目录下。在终端中输入以下命令来安装boost: 1. ./bootstrap.sh //进行预编译 2. ./b2 //编译 3. sudo ./b2 install //安装 执行完成之后,就会将boost安装到系统中。需要注意的是,安装的时候需要先确认已经安装了g++和gcc等编译器,否则无法编译文件。如果编译过程中出现错误,可以尝试先升级一下系统的软件包。在编译完成后,boost会默认安装到/usr/local/lib目录下,也可以通过修改./bootstrap.sh里的--prefix参数改变安装目录的路径。 安装完毕后,就可以在C++的代码中使用boost了。需要在代码中包含对应的文件头文件,同时链接相应的文件。例如,需要使用boost的thread,可以在代码中加上以下语句: #include <boost/thread.hpp> 并在编译时链接相应的文件: g++ -pthread -l boost_thread -o demo demo.cpp 需要注意的是,编译时需要加上-pthread参数,否则会出现链接错误。 总之,安装boost并不是很难,但需要仔细阅读官方文档,并对编译相关的知识有一定了解。安装完成后,就可以享受boost带来的便利和高效了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

余婉尔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值