我是以 root 权限登陆的(root权限登陆需要小心操作,不是很熟悉的,还是普通用户登陆,接下来的操作前面加 sudo),下载的文档在 /root/Downloads 文件夹下。此处需要注意,下载的是ZIP文件,因此解压需要用安装支持ZIP的工具,此处读者可自行解决。我是在windows下载解压,然后文件共享到Linux的。 点击链接文件共享方法
(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
(如果运行成功表示设置成功)
这里一定要 注意 电脑中的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
此处看到不少博客写的下面的安装方法,可是在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
如果你的前面步骤都成功了,那么接下来编译Muduo吧!
回到第一步下载并解压过的muduo文件夹下
# ./build.sh -j2
Duang,运行报错,OK,这时候我们一起来定位错误。
红色划线部分大概的意思就是说在这个Mutex.h 头文件的第三行第一列有错误,那么我们打开这个文件夹,看看到底是什么错误。muduo-master/muduo/base/Mutex.h (PS:这个muduo-master 是我在git下载muduo压缩包解压之后的文件夹名字)
看到错误了吗?
解决办法:注销掉这句话就好了,注销掉这句话再运行
# ./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
分类 Muduo网络库编程 学习笔记