默认下载下来freeswitch后,按照readme.md执行编译过,其实它下面有一个esl例子目录.../freeswitch/libs/esl/的内容不一定被编译到,需要进入这个子目录make一下,不过不幸的是,经常容易出错,例如下图就是常见的编译错误:
头文件没有找到,第一反应就是修改include目录,哪里改呢,就是Makefile文件,具体修改后面给出截图,然后第二个错误如下图
出错内容看,是testclient.c(笔者自己已经对testclient.c做了很多改写)里调用到了一些函数,例如switch_hash_core_delete没有找到对应的库文件(里面有这些函数的定义),那么首先想到的就是makefile里的ldflags之类的链接器选项不对,漏掉了相应的库文件定义,分两步走:
1. 首先要找到这些符号(函数)在哪里定义的,以switch_core_hash