ESL库的编译与使用

文章目录

  • 前言
  • 修改流程
    • 在使用libesl.lib的工程文件中添加宏 ESL_DECLARE_STATIC
    • 使用的工程中添加 -lWs2_32
    • 在libesl中添加cJSON,并重新生成 libesl库
  • 结语

前言

在windows下使用esl与freeswitch进行通信。
直接使用vs下编译出来的libesl.lib文件会报找不到接口的 impesl_connect_timeout@24 的错误(这是我调的第一个接口)。
后来研究了一下,值得一写。

修改流程

在使用libesl.lib的工程文件中添加宏 ESL_DECLARE_STATIC

至于为什么加,你可以看 libesl的源码,很简单的


后面就是编码报错了

使用的工程中添加 -lWs2_32

百度找到的

在libesl中添加cJSON,并重新生成 libesl库

不加的话会报 缺少cJSON接口的错误。
本来想使用cJSON的库的。后来发现libesl的源码中有这些个文件,但是 很奇怪没有集成到工程中。
因此:
1,将 cJSON.c、cJSON.h 、esl_cJSON_Utils.c、esl_cJSON_Utils.h 添加到工程中。
2,添加 CJSON_HIDE_SYMBOLS 到libesl工程的宏定义中。
3,重新编译生成

现在可以正常使用esl库了。

结语

不地道啊,linux下没这些毛病,windows下才出现的,缺这少那。

你可能感兴趣的:(freeswitch)