FreeSWITCH-esl 编译

个人总体将其分为了两种编译的方法
一:直接在freeswitch源码目录下编译
二:单独拷贝esl源码编译
这两种都是可以的,个人比较喜欢第一种,可以很方便地集成到任何的C++ 工程项目里面去

一:
直接在freeswitch源码下编译
工具:vs2015
平台:window10

打开freeswitch源码目录后,在libs目录下可以找到esl的项目
FreeSWITCH-esl 编译_第1张图片
进入src目录
FreeSWITCH-esl 编译_第2张图片
用vs2015打开它
FreeSWITCH-esl 编译_第3张图片
1)编译静态库.lib
默认是生成静态库的,打开后直接编译即可生成静态库
FreeSWITCH-esl 编译_第4张图片
2)生成动态库.dll
生成动态库我们需要配置一下这个项目的属性
如下:
FreeSWITCH-esl 编译_第5张图片
去掉这个静态宏,换成编译动态库的宏:ESL_EXPORTS
FreeSWITCH-esl 编译_第6张图片
FreeSWITCH-esl 编译_第7张图片
在重新生成后你会发现出现一大堆连接错误
FreeSWITCH-esl 编译_第8张图片
这个时候我们再次编辑项目属性,添加一个lib文件:ws2_32.lib
FreeSWITCH-esl 编译_第9张图片
再次重新生成,即可编译出.dll动态库
FreeSWITCH-esl 编译_第10张图片

如图:FreeSWITCH-esl 编译_第11张图片
二:
独立编译拿出esl源码编译
在任意目录新建一个文件夹
在这里插入图片描述
只拿esl的源码,其他的直接删掉
FreeSWITCH-esl 编译_第12张图片
由于是单独编译,这次用的是vs 2019,新建一个空项目
FreeSWITCH-esl 编译_第13张图片
项目和解决方案的名字随意,但我还是用了esl
FreeSWITCH-esl 编译_第14张图片
把src的源码移动到esl项目里面
如图:
FreeSWITCH-esl 编译_第15张图片
添加头文件和源文件
FreeSWITCH-esl 编译_第16张图片
配置项目属性
FreeSWITCH-esl 编译_第17张图片

配置头文件
FreeSWITCH-esl 编译_第18张图片
添加编译宏,这里是直接编译动态库
FreeSWITCH-esl 编译_第19张图片
添加.lib库
FreeSWITCH-esl 编译_第20张图片
最后重新生成
FreeSWITCH-esl 编译_第21张图片
FreeSWITCH-esl 编译_第22张图片
静态库也差不多一样的操作,这里就不再多讲
最后附上一个利用esl编写的一个测试服务器
它在拨打电话990000 后会播放一段语音然后挂机
freeSWITCH conf\dialplan\default.xml 配置
FreeSWITCH-esl 编译_第23张图片
下载点这
联系我:[email protected]

你可能感兴趣的:(Freeswitch)