muduo安装和运行

为补充C++工程知识近期打算学习muduo源码,下面记录muduo源码编译链接及运行过程。

0.版本

操作系统ubuntu 14.04及以上,gcc-8.3.0,cmake-3.13.4

1.安装必要的环境、依赖、工具

安装cmake,boost,curl,protobuf.

sudo apt-get install cmake -y
sudo apt-get install libboost-dev libboost-test-dev -y
sudo apt-get install libcurl4-openssl-dev linc-ares-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev -y

2.下载源码,这里我们clone到版本0.8.2

git clone -b v0.8.2 https://github.com/chenshuo/muduo.git

3.编译源码,如果顺利的话,在../build/debug/{bin,lib}中能看到可执行文件和库

cd muduo
./build.sh -j2

4.运行一个样例,在浏览器中键入http://localhost:12345即可观察到结果

./inspector_test

—————————————————

可能出现的错误及解决方案:

编译链接中可能会出现错误

问题1:.error: cannot convert ‘const boost::shared_ptrmuduo::TimeZone::Data’ to ‘bool’ in return
bool valid() const { return data_; }

方案: 智能指针无法判空,不过这个错误很奇怪,但是可以用下面代码勉强解决它。

bool valid() const
{if (data_)return true;elsereturn false;
}

问题2: error: typedef ‘T_must_be_complete_type’ locally defined but not used [-Werror=unused-local-typedefs]

方案 muduo将编译中出现的warning视为error,如果我们能容忍warning,可以将其取消,即在CMakelists.txt中添加-Wno-unused-local-typedefs

问题3: undefined reference to `google::protobuf::Arena:

[C++][muduo]1-muduo安装和运行相关推荐

  1. libevent 源码阅读 Ubuntu下muduo库的安装与使用

    libevent源码分析--代码结构_鱼思故渊的专栏-CSDN博客 LINUX实战:Ubuntu下muduo库的安装与使用 LINUX实战:Ubuntu下muduo库的安装与使用-LINUX入门-维易 ...

  2. 在Ubuntu 12.04 64bit上配置,安装和运行go程序

    注意: 下面的安装配置均遵从官网或是教材<Go语言程序设计>中的部分内容. 顺便说下,这是一本很难得的Go语言的入门教程,非常基础和全面.起初我因为这本书的封面比较讨厌它,闲置几年之后,一 ...

  3. flume 1.7在windows下的安装与运行

    flume 1.7在windows下的安装与运行 一.安装 安装java,配置环境变量. 安装flume,flume的官网http://flume.apache.org/,下载地址,下载后直接解压即可 ...

  4. RabbitMQ安装和运行

    RabbitMQ在Windows下安装和运行 1.下载Erlang: http://www.erlang.org/downloads/19.2 2.下载Windows版RabbitMq: http:/ ...

  5. Python3入门笔记(1) —— windows安装与运行

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  6. Windows下Go语言的安装和运行

    参考:https://blog.csdn.net/SquirrelYuyu/article/details/82776029 Windows下Go语言的安装和运行 文章目录 Go语言的安装与配置 Go ...

  7. python详细安装教程视频-如何安装Python运行环境Anaconda?(视频教程)

    本视频教程针对Windows 7平台,集成3.6版本Python的Anaconda录制. 根据我多次线下编程工作坊获得的反馈经验,发现Python初学者居然在环境安装步骤,就很可能遭受挫折. 如果没有 ...

  8. vc2005运行库彻底卸载_解决不安装VC运行库(VC2005,VC2008),程序运行出错的方法...

    因为VS2005以后程序采用了manifest的生成方式,所以发布的时候要和运行库一起发布.但是我们平时开发和发布的时候如果都要客户安装运行库,那就不太方便了.你可以Microsoft下载:http: ...

  9. Sublime Text 3(中文)在Windows下的配置、安装、运行

    Sublime Text 3(中文)下载.安装.运行! 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) ...

最新文章

  1. python 学习之 PythonAdvance2
  2. 易创课堂上海站干货回顾
  3. Perturbed Masking:和参数无关的预训练模型分析方法
  4. yuv420p 详解_Android中的YUV格式解析
  5. 类加载器 jboss_JBoss AS 7类加载说明
  6. Pytorch的BatchNorm层使用中容易出现的问题
  7. nginx tcp代理_nginx 基于tcp/udp代理
  8. RocketMQ(三)—— 集群模式的说明
  9. SpringCloud 学习--路由网关
  10. UI自动化测试之元素定位
  11. 蓝屏dump分析教程,附分析工具WinDbg(x86 x64)6.12.0002.633下载
  12. 趋势预测算法大PK!
  13. 已设定选项 ‘readonly‘ (请加 ! 强制执行)
  14. kotlin使用StateFlow的collect出错This is an internal kotlinx.coroutines API
  15. 《智能路由器开发指南》核心笔记(全)——转载的
  16. Python 如何被证明是 2021 年的转折点语言
  17. 核桃编程学员对话诺贝尔奖得主 用童心预见未来 探讨人工智能发展
  18. mysql使用简单教程_Mysql使用简单教程(二)_MySQL
  19. 基于SPringBoot的玩具销售商城管理系统
  20. 苹果电容笔和普通电容笔有什么区别?实用平板电脑电容笔推荐

热门文章

  1. Linux中的tty、pty、pts与ptmx辨析
  2. “拿下”家乐福中国,苏宁易购全场景零售进入新阶段
  3. pymssql数据库操作
  4. 矩阵A可逆,则A的逆矩阵也可逆
  5. 向日葵连接linux无桌面,向日葵控控远程时无画面显示可能的原因及解决办法
  6. 微信缓存dat怎么转图片_微信 .dat图片格式转换为.jpg
  7. OSChina 周五乱弹 —— 性感海星在线翘臀
  8. ESP8266(ESP-12F)+DS18B20+贝壳物联
  9. Python黑科技:暴力破解你的密码
  10. 华为mate40RS能升级鸿蒙,华为mate40rs快速开箱