文章目录
前言
在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下才出现的,缺这少那。