/********************************************Boost********************************************************/
boost简介
boost 是一个功能强大、开源的 C++ 第三方库集合,由全球 C++ 社区共同开发和维护。它被誉为“C++ 标准库的延伸”,因为许多 Boost 组件后来被纳入 C++ 标准(如 C++11/14/17/20)。但是boost还不算正式成为C++的标准库,在网络编程中需要我们手动配置安装。
Linux环境下安装配置Boost库
安装包获取
1、链接:https://pan.baidu.com/s/11tNt-GNmt1xw_fGQ-tARgA 提取码:7yb9(注意zip是Windows版,tar.gz是Linux版)
2、官网 https://www.boost.org 下载源码。
环境搭建
先把Linux系统下的boost源码包boost_1_69_0.tar.gz拷贝到某一指定路径下,然后解压。跟上跟上,这一步应该都没有问题。
上传问题
本人使用VMware虚拟机,想要把Boost压缩包上传到Linux虚拟机中,可以通过这个途径,如下:
1、启动VMware中的虚拟机
2、打开winscp(这是一个软件可以快速将windows里面下载的文件上传到虚拟机环境中)
3、构建连接,然后上传文件即可,跟着如下图示步骤即可:
如果主机名不知道,那就在虚拟机Linux中的命令行中输入ifconfig
点击登录就可以自由上传文件了,只需要拖动左边的文件到右边即可。
这里我将我的文件放在一个叫Information的文件夹的boost文件夹中
解压
****@****-virtual-machine:~/Information/boost$ ls
boost_1_69_0.tar.gz
****@****-virtual-machine:~/Information/boost$ tar -zxvf boost_1_69_0.tar.gz
$后面的是输入的命令
解压完成我们可以查看一下
****@****-virtual-machine:~/Information/boost$ ls
boost_1_69_0 boost_1_69_0.tar.gz
****@****-virtual-machine:~/Information/boost$ cd boost_1_69_0/
****@****-virtual-machine:~/Information/boost/boost_1_69_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
运行bootstrap.sh工程编译构建程序
****@****-virtual-machine:~/Information/boost/boost_1_69_0$ ./bootstrap.sh
见到如下就是成功了
看看目录下有什么变化
****@****-virtual-machine:~/Information/boost/boost_1_69_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程序
这里运行b2需要g++,如果没有g++需要安装,或者g++版本较低,低于4.8也需要升级,可以使用g++ --version来看版本
这里默认你以及安装完毕,并且版本正确
****@****-virtual-machine:~/Information/boost/boost_1_69_0$ ./b2
成功的话,你会看到这些文字在最下面
The Boost C++ Libraries were successfully built!
安装在默认的Linux系统头文件和库文件的搜索路径下
首先我们切换一下root用户
通过sudo passwd root来重置root密码,然后su进入root用户
root@****-virtual-machine:/home/****/Information/boost/boost_1_69_0# ./b2 install
稍事等待,这一步需要比较长时间,我们等待中……
完成以后就是验证
验证
验证安装boost是否成功,通过下面的代码验证一下:
#include <iostream>
#include <boost/bind.hpp>
#include <string>
using namespace std;
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;
}
注意这是在linux中书写的代码
输入g++ -o main.cpp main进行编译
再输入./main进行运行
如果是成功的话你将看到
zhang san say: hello world!
大功告成!
/********************************************Boost********************************************************/