libhv教程02--编译与安装

编译与安装

libhv提供了原生Makefile(这里仅指适用于类unix系统的Makefile)和cmake两种构建方式。
为什么不额外提供vs工程或xcode工程?因为个人维护Makefile和cmake两套构建方式已经很累了,想将更多的时间和精力放在内容生态完善上,而不是工程构建维护上。况且cmake已经可以满足生成各种平台的工程。

Makefile命令行

CLICommand Line Interface命令行界面。鄙人强烈推荐使用的一种,特别是对于服务端开发人员,必备技能。

对于类Unix系统平台来说,推荐使用Makefile三部曲

./configure
make
sudo make install

Windows平台编译libhv请使用cmake先生成VS工程,各平台具体编译步骤见BUILD.md

cmake图形界面(照顾下小白)

libhv-cmake
一般使用默认配置即可,如需勾选WITH_OPENSSL,请先自行安装openssl

vcpkg

也可通过vcpkg安装:

vcpkg install libhv

编译产物

头文件

类unix系统默认安装在/usr/local/include/hv目录下

.
├── Buffer.h                缓存类
├── Callback.h              回调定义
├── Channel.h               IO通道类
├── Event.h                 事件类
├── EventLoop.h             事件循环类
├── EventLoopThread.h       事件循环线程类
├── EventLoopThreadPool.h   事件循环线程池类
├── HttpMessage.h           HTTP消息类
├── HttpParser.h            HTTP解析类
├── HttpServer.h            HTTP服务类
├── HttpService.h           HTTP业务类
├── Status.h                状态类
├── TcpClient.h             TCP客户端类
├── TcpServer.h             TCP服务端类
├── ThreadLocalStorage.h    线程本地存储类
├── UdpClient.h             UDP客户端类
├── UdpServer.h             UDP服务端类
├── WebSocketChannel.h      WebSocket通道类
├── WebSocketClient.h       WebSocket客户端类
├── WebSocketParser.h       WebSocket解析类
├── WebSocketServer.h       WebSocket服务端类
├── base64.h                BASE64编解码
├── grpcdef.h               grpc定义
├── hatomic.h               原子操作
├── hbase.h                 基本函数
├── hbuf.h                  缓存buffer
├── hconfig.h               configure生成配置
├── hdef.h                  常见宏定义
├── hdir.h                  目录(ls实现)
├── hendian.h               大小端
├── herr.h                  错误码定义
├── hexport.h               DLL导出宏
├── hfile.h                 文件类
├── hlog.h                  日志
├── hloop.h                 事件循环
├── hmain.h                 命令行解析
├── hmath.h                 数学函数
├── hmutex.h                互斥锁
├── hobjectpool.h           对象池
├── hplatform.h             平台相关宏
├── hproc.h                 进程
├── hscope.h                作用域
├── hsocket.h               套接字
├── hssl.h                  SSL/TLS加密
├── hstring.h               字符串操作
├── hsysinfo.h              系统信息
├── hthread.h               线程操作
├── hthreadpool.h           线程池类
├── htime.h                 日期时间
├── http2def.h              http2定义
├── http_client.h           HTTP客户端
├── http_content.h          HTTP Content-Type
├── httpdef.h               http定义
├── hurl.h                  URL操作
├── hv.h                    hv总头文件
├── hversion.h              版本
├── ifconfig.h              ifconfig实现
├── iniparser.h             INI解析类
├── json.hpp                JSON解析
├── md5.h                   MD5数字摘要
├── nlog.h                  网络日志
├── nmap.h                  主机发现
├── requests.h              模拟python requests api
├── sha1.h                  SHA1安全散列算法
└── singleton.h             单例模式宏

库文件

  • 静态库libhv.alibhv_static.a
  • windows动态库hv.dll
  • linux动态库libhv.so
  • macosx动态库libhv.dylib

示例程序

├── hmain_test          命令行解析测试程序
├── hloop_test          事件循环测试程序
├── htimer_test         定时器测试程序
├── http_client_test    HTTP客户端测试程序
├── http_server_test    HTTP服务端测试程序
├── websocket_client_test    WebSocket客户端测试程序
├── websocket_server_test    WebSocket服务端测试程序
├── curl                HTTP客户端
├── httpd               HTTP服务端
├── nc                  网络客户端
├── nmap                主机发现
├── tcp_chat_server     TCP聊天服务
├── tcp_echo_server     TCP回显服务
├── tcp_proxy_server    TCP代理服务
└── udp_echo_server     UDP回显服务

另外,仓库通过加入travis CI确保master分支在linux、windows、macosx三个平台编译通过,大家再也不用担心编译不过了。

ithewei CSDN认证博客专家 c/c++ Qt libhv
编程之路,其路漫漫,吾将上下而求索
https://github.com/ithewei
https://hewei.blog.csdn.net
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页