muduo网络库第一个例子echo的编译

摘要:
1.下载modo网络库https://github.com/chenshuo/muduo2.方法1:将文件解压缩到当前目录unzip test.zip方法2:如果要将文件解压缩至指定目录,则需要使用-d参数。Unzip-d/temptest.zip参考:http://www.cnblogs.com/daizhuacai/archive/2013/07/06/3174885.ht

1.下载moduo网络库

https://github.com/chenshuo/muduo

2.解压

  方式一:把文件解压到当前目录下

  unzip test.zip

  方式二:如果要把文件解压到指定的目录下,需要用到-d参数。

  unzip -d /temp test.zip
参考:http://www.cnblogs.com/daizhuacai/archive/2013/07/06/3174885.html

3.开始安装
参考:http://blog.csdn.net/liuweihui521/article/details/52556375

muduo采用CMake为build system,安装方法如下:
$ sudo apt-get install cmake

(如果发生有上面的过程中有什么文件安装失败什么的,就sudo apt-get update一下)

muduo依赖于Boost,也很容易安装:
$ sudo apt-get install libboost-dev libboost-test-dev

muduo有三个非必需的依赖库:curl、c-ares DNS、Google Protobuf,如果安装了这三个库,cmake会自动多编译一些示例。安装方法如下:
$ sudo apt-get install libcurl4-openssl-dev libc-ares-dev
$ sudo apt-get install protobuf-compiler libprotobuf-dev

编译muduo 库和它自带的例子,生成的可执行文件和静态库文件
分别位于../build/debug/{bin,lib}
$ BUILD_TYPE=debug ./build.sh
以上命令将muduo 头文件和库文件安装到../build/debug-install/{include,lib},以便muduo-protorpc 和muduo-udns 等库使用

如果要编译release版,可执行:
$ BUILD_TYPE=release ./build.sh install

 cd muduo-master
在muduo-master/examples/simple目录中

我们选择的第一个例子是echo

进入echo文件夹,我们编写一个makefile

也可以直接用命令:

(也可以参考:http://blog.csdn.net/u010235142/article/details/51497605)

g++ -g -Wall -I /home/hp/Muduo/build/debug-install/include -o echo main.cc echo.cc -L /home/hp/Muduo/build/debug-install/lib -lmuduo_base -lmuduo_net -lpthread

为了方便,我们编写一个makefile

CFLAGS = -g -Wall -I /home/hp/Muduo/build/debug-install/include
LIBS = -L /home/hp/Muduo/build/debug-install/lib -lmuduo_base -lmuduo_net -lpthread

SRCS = main.cc echo.cc
OBJS = $(SRCS:.cc=.o)
EXECUTABLE = echo
CC = g++

all:
    $(CC) $(CFLAGS) -o $(EXECUTABLE) $(SRCS) $(LIBS)

.PHONY:clean
clean:
    rm $(EXECUTABLE) $(OBJS)

你需要修改的是CFLAGS里的头文件目录,和LIBS中的库文件目录

这两个目录,是你刚才安装的时候,生成的。

 makefile的编写,参考:http://jesserei.blog.163.com/blog/static/121411689201031332927259/

免责声明:文章转载自《muduo网络库第一个例子echo的编译》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux的远程桌面配置写一个自动解析 ios crash 日志的脚本(python)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何用webpack搭建vue项目?本文案例详解

前言:都2020年了,感觉是时候该学一波webpack了,趁着最近有时间,就学了一下,等把官网上的webpack结构和模块大概看了一遍之后,就感觉可以开始搭个项目实战一下了,从0开始,一步步记录下来 使用版本: webpack4.x 1.包含插件和loader * html: html-webpack-plugin clean-webpack...

shell遍历文件目录,监听文件变化,拼接字符串

最近利用业余时间学习了shell 并做了个例子 实现的功能是 : 监听demo文件夹下的文件,只要新增了  .js的文件就把对应的文件名重组,拼接, 最后写入到demo.js里面. 文件结构如下 : demo.sh代码如下 while : ; do if [ -f oldfiles.log ] then #按照时间排序 并取第一行 就是最...

angularjs 一篇文章看懂自定义指令directive

 壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML;那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能。比如最常用ng-click可以让一个元素能监听click事件,这里你可能就有疑问了,同样都是监听为什么不直接使用click事件呢,angular提供的事件指令与...

关于npm run build 卡住不动的坑。。。

起因:最近开发个项目使用的vue,有些功能需要生产版本放服务器上测试,这就出问题了。。卡住了,不动了,还不报错 这是在vscode的终端里面,试了git hash,试了cmd , 试了powershell,都是一个样子,这就很尴尬了, 试着执行了 npm run dev, npm i,都能正常运行; 然后,又试了下cnpm i, 咦 ! 有猫腻,一样卡住...

Android编译大全(五)

6.1.2.make文件分类2  配置类 主要用来配置product、board,以及根据你的Host和Target选择相应的工具以及设定相应的通用编译选项: config文件 说明 build/core/config.mk Config文件的概括性配置 build/core/envsetup.mk generate目录构成等配置 build/target...

52.关于Android Studio项目的Gradle构建

转载:某学姐http://mouxuejie.com/blog/2016-02-13/android-gradle-config/Gradle构建脚本使用DSL(Domain Specific Language)来描述构建逻辑,使用的语言是Groovy。想了解Android Studio工程的Gradle构建系统,可以先从Project的settings....