前言
历经九九八十一难才安装好这个muduo库,期间遇到了很多的问题,写下来记录一下希望之后看到的能避坑,不要走我的弯路。
boost
muduo库是基于boost开发的,所以在这个muduo库编译的时候需要有boost库,这里千万不要自己下载安装,因为会导致你的muduo库在编译的时候找默认位置的时候找不到,这里说的不要自己下载安装是怕你选的位置不对,这里建议使用 apt install下载,会下载到默认位置
。
sudo apt-get install libboost-dev
muduo库
这里网上可以找到很多下载的地方,就不说了。主要说下具体的步骤:
-
1.先解压后进入相应的文件夹内
-
2.打开文件内的CMakeLists.txt的文件修改相应内容,这里注释掉可以免掉很多不必要的代码测试,而且代码测试需要别的库要安装,这边直接注释掉
-
3.下面这个位置也要注释掉,因为作者设置了警告是强制错误,会导致你的编译不成功。
-
4.编译
./build.sh
- 5.编译期间可能会少头文件什么的,通过apt下载
我的unbuntu系统少了zlib.h
头文件,通过以下命令下载
sudo apt-get install libz-dev
- 6.编译到100%后就快要完成了,接下来执行:
./build.sh install
这个./build.sh install实际上把muduo的头文件和lib库文件放到了muduo-master同级目录下的build目录下的release-install-cpp11文件夹下面了。
- 7.把inlcude(头文件)和lib(库文件)目录下的文件移动到系统目录下:
root@root:/usr/local/build/release-install-cpp11/include# mv muduo/ /usr/include/
root@root:/usr/local/build/release-install-cpp11# cd lib/
root@root:/usr/local/build/release-install-cpp11/lib# mv * /usr/local/lib/
移动完成以后使用muduo库编写C++网络程序,不用在指定头文件和lib库文件路径信息了,因为g++会自动从/usr/include和/usr/local/lib路径下寻找所需要的文件。