• muduo库的安装


    前言

      历经九九八十一难才安装好这个muduo库,期间遇到了很多的问题,写下来记录一下希望之后看到的能避坑,不要走我的弯路。

    boost

      muduo库是基于boost开发的,所以在这个muduo库编译的时候需要有boost库,这里千万不要自己下载安装,因为会导致你的muduo库在编译的时候找默认位置的时候找不到,这里说的不要自己下载安装是怕你选的位置不对,这里建议使用 apt install下载,会下载到默认位置

    sudo apt-get install libboost-dev
    
    • 1

    muduo库

      这里网上可以找到很多下载的地方,就不说了。主要说下具体的步骤:

    • 1.先解压后进入相应的文件夹内

    • 2.打开文件内的CMakeLists.txt的文件修改相应内容,这里注释掉可以免掉很多不必要的代码测试,而且代码测试需要别的库要安装,这边直接注释掉
      在这里插入图片描述

    • 3.下面这个位置也要注释掉,因为作者设置了警告是强制错误,会导致你的编译不成功。
      在这里插入图片描述

    • 4.编译

     ./build.sh
    
    • 1
    • 5.编译期间可能会少头文件什么的,通过apt下载
      我的unbuntu系统少了zlib.h头文件,通过以下命令下载
     sudo apt-get install libz-dev
    
    • 1
    • 6.编译到100%后就快要完成了,接下来执行:
     ./build.sh install
    
    • 1

      这个./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/
    
    • 1
    • 2
    • 3
    • 4

      移动完成以后使用muduo库编写C++网络程序,不用在指定头文件和lib库文件路径信息了,因为g++会自动从/usr/include和/usr/local/lib路径下寻找所需要的文件。

  • 相关阅读:
    一张图带你了解.NET终结(Finalize)流程
    逆向-beginners之return
    HPA总结
    Linux的常见指令
    minigui编译移植
    简述人工智能,及其三大学派:符号主义、连接主义、行为主义
    Linux:编译遇到 Please port gnulib freadahead.c to your platform ,怎么破
    FutureTask的测试使用和方法执行分析
    Java项目:JSP会议-会议室管理系统
    Ingress基本故障排除方法
  • 原文地址:https://blog.csdn.net/weixin_60208935/article/details/127562693