Linux多线程服务端编程学习muduo(一)Centos7安装muduo网络库

1、github下载muduo源码https://github.com/chenshuo/muduo

在这里插入图片描述
在这里插入图片描述
我是以 root 权限登陆的(root权限登陆需要小心操作,不是很熟悉的,还是普通用户登陆,接下来的操作前面加 sudo),下载的文档在 /root/Downloads 文件夹下。此处需要注意,下载的是ZIP文件,因此解压需要用安装支持ZIP的工具,此处读者可自行解决。我是在windows下载解压,然后文件共享到Linux的。

2、安装cmake

(1)安装cmake前需要的准备工作

确保系统中安装了gcc,ncurses-devel

yum -y  install gcc-c++
yum -y  install ncurses-devel
(2)下载cmake软件包

下载地址 https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz 我用的版本是3.6.2,可以 自行选择 想要的版本。

下载的文件在 /root/Downloads ,在该文件夹下打开一个终端,解压文件

# tar -zxvf  cmake-3.6.2.tar.gz  -C /usr/local   (PS:-C 后面指定解压到文件夹下  /usr/local)
# cd /usr/local/cmake-3.6.2
# ./configure    
(如果这一步提示需要其他的安装包,安装即可,或者自行百度怎么解决,我在这一步没遇到问题)
# make
# make install
(完成之后可以进行检查是否安装成功了)
/*  # cd bin 
    # ./cmake --version
 */   上面的两行命令为检查cmake是否安装成功了,如果安装成功,提示结构如图所示。

在这里插入图片描述

(3) 接下来设置软连接,因为此时如果不进行软链接,每次运行cmake需要用
# /usr/local/cmake-3.6.2/bin/cmake --version (很麻烦)
 # ln -s /usr/local/cmake-3.6.2/bin/cmake /usr/bin/cmake
 (在任意目录进行检验是否设置成功,切换到家目录)
 # cd
 # cmake --version
 (如果运行成功表示设置成功)

3、安装boost库

这里一定要 注意 电脑中的Linux系统是否已经存在boost相关的包,如果不注意随便下载一个版本,到后面编译muduo会提示找不到boost库。

(运行命令查看系统中已经有的boost相关的包)
# rpm -qa boost*

在这里插入图片描述
我的电脑里面的版本是1.53.0
官网下载boost 1.53.0(根据自己电脑的版本进行下载 哦) https://sourceforge.net/projects/boost/files/boost/
在这里插入图片描述

下载完了之后进行安装

解压,方法如前,不再赘述。
安装之前,预先安装相关项。
# yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel
# cd /root/Downloads
# sh ./bootstrap.sh  --prefix /usr/local/boost (在解压之后的文件夹下运行)
# ./b2  install
# cd ./tools/build 
#  ./bootstrap.sh
# ./b2  install  --prefix /usr/local/boost

4、安装非必需依赖库

此处看到不少博客写的下面的安装方法,可是在centos7系统下,根本没有对应的软件包,需要进行相应的修改。

# apt-get install libcurl4-openssl-dev libc-ares-dev 
# apt-get install protobuf-compiler libprotobuf-dev

这个libcurl4-openssl-dev libc-ares-dev 是Ubuntu系统下可用的,此处我们用的是Centos7系统。因此会提示找不到安装包。
在这里插入图片描述
此处应该用

# yum install openssl
# yum install protobuf

5、 编译 Muduo

如果你的前面步骤都成功了,那么接下来编译Muduo吧!
回到第一步下载并解压过的muduo文件夹下

#  ./build.sh -j2

Duang,运行报错,OK,这时候我们一起来定位错误。
在这里插入图片描述
红色划线部分大概的意思就是说在这个Mutex.h 头文件的第三行第一列有错误,那么我们打开这个文件夹,看看到底是什么错误。muduo-master/muduo/base/Mutex.h (PS:这个muduo-master 是我在git下载muduo压缩包解压之后的文件夹名字)
在这里插入图片描述
看到错误了吗?
解决办法:注销掉这句话就好了,注销掉这句话再运行

扫描二维码关注公众号,回复: 6480321 查看本文章
#  ./build.sh -j2

在这里插入图片描述

哈哈哈哈哈哈,解决了,终于好了,这个网络库,我花了一下午和一晚上的时间,最后成功的时候真的是无比开心啊!记录下来我的过程,希望对同样安装muduo过程中遇到问题的你有帮助!
在这里插入图片描述

好了,100%。

运行其中生成的可执行代码测试看看是否安装成功

# cd /home/(用户名)/Desktop/build/release-cpp11/bin
# ./inspector_test

在这里插入图片描述
打开浏览器,输入 http://xxx.xxx.xxx.xxx:12345 其中的xxx.xxx.xxx.xxx为你自己电脑的IP。可以在Linux下用命令 ifconfig 查看

运行结果如图所示。
在这里插入图片描述

如果你在编译过程中出错了,一定要记得看 build/release-cpp11/CMakeFiles/CMakeError.log 和 CMakeOutput.log

如何使用网络库 见链接Muduo网络库的使用

顺便推荐一个源码阅读工具,understand,这个软件不仅可以显示函数之间的调用关系,还可以随时查看类定义的成员变量和成员函数。
understand 安装教程https://blog.csdn.net/YoungSusie/article/details/90905285

猜你喜欢

转载自blog.csdn.net/YoungSusie/article/details/90021742