其实《Linux 多线程服务端编程》已经写得很详细

但是考虑到代码版本的更新和操作系统的不同

可能部分位置会有些许出入 这里做个记录 方便以后学习运行

我使用的虚拟 安装的是debian系统

版本如下

uname -a
Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) i686 GNU/Linux

1 安装依赖库 sudo apt-get install cmake libboost-dev libboost-test-dev libcurl4-openssl-dev libc-ares-dev protobuf-compiler libprotobuf-dev

2 到https://github.com/chenshuo/muduo/ 此处下载最新的muduo代码

3 解压muduo代码 进入解压后的文件夹

我这里是/home/XXX/Desktop/muduo-master

代码默认是release模式

你可以使用BUILD_TYPE=debug 指定为debug模式

我这里使用默认模式

输入 muduo-master# sudo ./build.sh -j2

成功则显示

[ 98%] Built target protobuf_rpc_resolver_server
[100%] Built target inspector_test

4 使用install指定将头文件和库安装

sudo ./build.sh  install

成功则显示

-- Installing: /home/XXX/Desktop/build/release-install/include/muduo/curl/Curl.h

5 使用样例

使用例子可以从https://github.com/chenshuo/muduo-tutorial

下载解压

不过由于头文件和库的安装位置有点变化 我把其中的muduo-tutorial-master/makefile/Makefile文件修改了下

其中

MUDUO_DIRECTORY ?= $(HOME)/build/install

我修改为

/home/XXX/Desktop/build/release-install

Debian8 下面 muduo库编译与使用的更多相关文章

  1. muduo库的简单使用-echo服务的编写

    muduo库的简单使用 muduo是一个基于事件驱动的非阻塞网络库,采用C++和Boost库编写. 它的使用方法很简单,参考这篇文章:TCP网络编程本质论 里面有这么几句: 我认为,TCP 网络编程最 ...

  2. 将STM32的标准库编译成lib使用【图文】

    以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间.每次建立工程都这么编译,是一个相当浪费时 ...

  3. 将STM32的标准库编译成lib

    转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...

  4. iOS之 PJSIP静态库编译(三)

    dada哪个所有静态库编译完成后还是不能运行那个demo,提示你找不到arm**.a 你lipo后要记得吧合并成.a  名字更改成你最后编译版本生成的.a名字....... 或者吧所有库add到你的工 ...

  5. iOS之 PJSIP静态库编译(一)

    首先放上pjsip官方网站http://www.pjsip.org/download.htm 下载的时候注意while the .bz2 has LF line-ends and is for Uni ...

  6. C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项

    目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...

  7. linux动态库编译和使用详细剖析

    引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, 预编译,编译,生成机械码最后链接输 ...

  8. 68.vivado与modelsim的关联以及器件库编译

    vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...

  9. C++库编译

    C++库编译 1. POCO编译 进入源文件目录,选择相应的VS版本进行编译(build_vs140).    设置系统环境变量: POCO_BASE 2. Boost编译 ####简单编译    在 ...

随机推荐

  1. C# 日志记录工具类--LogHelper.cs测试

    C# 日志记录工具类:(适用于不想使用log4j等第三方的Log工具的时候,希望自己写个简单类实现)LogHelper.cs内容如下: using System; using System.Diagn ...

  2. 代码: 日期和时间 datepicker

    bootstrap 的相关的时间插件 http://www.bootcss.com/p/bootstrap-datetimepicker/ jquery ui的日期插件 http://www.w3cs ...

  3. leetcode263

    public class Solution { private bool Judge(int x) { ) { return false; } int bound = Convert.ToInt32( ...

  4. 异常信息ASM ClassReader failed to parse class file的问题解决

    jdk8与spring 3不兼容问题:用jdk7.或者升级到spring4 详情:异常信息ASM ClassReader failed to parse class file的问题解决

  5. jquery 隐藏 显示 动画效果

    <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js&qu ...

  6. 怎样在本地windows安装和配置zookeeper

    Zookeeper是什么?有什么用? Zookeeper是一个分布式协调服务. 作用:为用户的分布式应用程序提供协调服务.  zookeeper在底层其实只提供了两个功能: 1.管理(存储,读取)用户 ...

  7. canal 监控数据库表 快速使用

    https://github.com/alibaba/canal 快速开始 https://github.com/alibaba/canal/wiki/QuickStart 注意 1. vim con ...

  8. event bManualResult

    MSDN: bManualReset [in] If this parameter is TRUE, the function creates a manual-reset event object, ...

  9. AJAX是什么?

    AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ajax不是新的编程语言,而是一种使用现有标准的新方法.ajax是与服务器 ...

  10. form表单中的encType属性

    enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码,它有三个值 1.application/x-www-form-urlencoded:表单数据被编码为名称/值对.这是默认的编码方式 ...