插件化开发Yate【0】 - 准备

本文介绍了Yate,一个可扩展的电话引擎,采用发布-订阅模式,支持插件管理和C++开发。文章详细步骤包括在Linux和VisualStudio环境下编译Yate引擎,以及如何开发和管理插件。还提到一个Demo工程作为教学示例。
摘要由CSDN通过智能技术生成

yate是一个可扩展性的电话引擎,采用观察者(发布-订阅)模式实现消息总线,并通过插件方式对功能模板进行管理,是一个非常灵活有效的应用架构。

yate是一个设计非常优秀的C++应用开发框架,但在国内,使用、讨论yate的人员非常少,对应的开发资料也非常少。 因此计划编写一个系列,并开源了系列代码库,用于介绍Yate框架,与广大码友分享多年来的经验。

代码库地址为  https://gitee.com/iseelgy

一. 引擎编译

 采用cmake管理的yate源代码地址为https://gitee.com/iseelgy/yate,先将引擎代码下载到本地后,可以通过编译脚本进行编译安装。

(1)linux环境编译

1. 运行cmake编译脚本

./1.linux-build.sh

该脚本将生成cmake的构建脚本,主要设置cmake的生成路径、安装路径等信息,脚本内容如下:

cmake 	-B build \
		-DCMAKE_PREFIX_PATH=/mnt/c/install/linux \
		-DCMAKE_INSTALL_PREFIX=/mnt/c/install/linux/yate \
		./

配置内容包括CMAKE_PREFIX_PATH、CMAKE_INSTALL_PREFIX,可以根据需要修改为自己的信息。

2.构建引擎

进入到build目录,运行make,构建

make

3.安装引擎

在build目录中,运行make install,安装

make install

运行成功后,将在CMAKE_INSTALL_PREFIX的目录中,安装yate框架的可执行文件和插件文件。

4.运行框架

进入到CMAKE_INSTALL_PREFIX目录,

在该目录中,主要包括conf.d目录,modules目录等,可执行程序yate,控制台运行脚本run.console、后台运行脚本run.daemon。

help信息

运行脚本

./run.console --help

可以查看yate的帮助信息

前台运行

运行脚本

./run.console -vv

至此,yate框架就启动起来了,可以看到的日志信息。

后台运行

运行脚本,启动后台程序

 ./run.daemon start

运行脚本,关闭后台程序

 ./run.daemon stop

后台运行情况下,日志信息记录在日志文件yate.log中

(2)visual studio环境编译

1. 运行编译脚本

编译脚本为vs2022的编译脚本,可以根据自己的开发环境进行修改。

2.vs2022-build.cmd

运行脚本成功后,将在目录msvs2022下生成vs的项目工程,打开yate.sln工程,将启动VS的IDE,可以在IDE中进行编译、安装、测试。

二、插件开发框架编译

插件开发框架通过开源库https://gitee.com/iseelgy/yateworkshop进行管理,该工程主要通过cmake对应用app、lib和yate插件进行管理。

框架对组件、库采用多工程管理的方式,利用目录名称的方式控制是否将该工程包含到CMake的管理中。

if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/demo00 )
	ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/demo00)
endif()

采用这样的方式可用方便地控制代码中包含的组件和支持库,简单修改目录名称就实现该模块是否包含在cmake工程中。

1. 下载源码工程

(1)下载框架工程:https://gitee.com/iseelgy/yateworkshop

(2)下载格式化库:https://gitee.com/iseelgy/fmt

2. 安装支持库

(1)将支撑库fmt拷贝到yateworkshop/libs中

(2)进入到yateworkshop/libs目录中,运行脚本

./1.linux-build.sh fmt

运行该脚本可以完成fmt库的构建、编译、连接和安装,其他的支撑库也可以通过该脚本进行安装

3.运行cmake构建脚本

进入到yateworkshop目录中,运行脚本

./1.linux-build.sh

脚本运行成功后,将在build目录下生成编译脚本

4.编译框架

进入到yateworkshop/build目录中,运行脚本

make
make install

运行成功后,将在yateworkshop/build/bin中安装响应的运行脚本、库、插件等

5.运行

进入到yateworkshop/build/bin目录中,运行脚本

./run.console -vv

或者

./run.daemon start

对于VS studio的工程,其方法类似。

三、Demo工程

Yate插件化开发框架,将引擎、插件分别进行管理,使用起来会比较复杂,为了讲解Yate的内容,特意采用又组织了一个Demo工程,将引擎和插件统一在一个工程中进行管理。

采用统一管理的方式,是为了便于了解Yate的工作方式和原理,并不符合插件化开发的要求,在了解原理后,应尽量采用分离的方式开发插件。

1. 下载源码工程

  Demo源码地址为:https://gitee.com/iseelgy/demoshop

2. 运行cmake构建脚本

将源码下载到本地后,进入demoshop目录,运行脚本

./1.linux-build.sh

3.编译程序

进入到demoshop/build目录,运行脚本

make 
make install

4.运行程序

进入到demoshop/build/bin目录,运行脚本

./run.console -vv

VS-Studio开发

如果为vs studio开发环境,运行批处理脚本

./2.vs2022-build.cmd

进入到msvs2022目录,

启动vs工程yate-develop.sln,通过IDE进行编译、连接、安装和运行。

插件化开发Yate【1】 - 框架介绍

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值