Freeswitch ESL"找不到-lesl"

时间:2015-01-29 01:46:23

标签: c freeswitch

我在C编写了一个简单的ESL应用程序,同时编译了#34; ld"抱怨它无法找到" -lesl":

  

sudo gcc -o test_app main.c -lpthread -lm -lpq -lesl -L。 -Isrc /包括
  / usr / bin / ld:找不到-lesl
  collect2:错误:ld返回1退出状态

我搜索了" libesl.so"并且找不到这个。我确信在编译Freeswitch时我错过了一些东西。任何人都可以指出,我错过了什么。谢谢。

2 个答案:

答案 0 :(得分:0)

解决如下:

gcc -fPIC -g -c -Wall esl.c
gcc -fPIC -g -c -Wall esl_buffer.c    
gcc -fPIC -g -c -Wall esl_config.c
gcc -fPIC -g -c -Wall esl_event.c
gcc -fPIC -g -c -Wall esl_json.c
gcc -fPIC -g -c -Wall esl_threadmutex.c

gcc -shared -Wl,-soname,libesl.so.1 \
-o libesl.so.1.0.1 esl_buffer.o \
esl.o esl_config.o esl_event.o \
esl_json.o esl_threadmutex.o -lm 

[ - lm必须在行的末尾]

cp -p /usr/src/freeswitch/libs/esl/src/libesl.so.1.0.1 /usr/local/lib  
ln -s /usr/src/freeswitch/libs/esl/src/libesl.so.1.0.1 /usr/local  /lib/libesl.so.1
ln -s /usr/src/freeswitch/libs/esl/src/libesl.so.1 /usr/local/lib/libesl.so

echco '/usr/local/lib' > /etc/ld.conf.d/libesl.conf

run ldconfig

答案 1 :(得分:0)

第一步:

cd ${freeswitch_code_path}/libs/esl && make

步骤 2:

gcc -o test_app main.c ${freeswitch_code_path}/libs/esl/.libs/libesl.a -lpthread -lm -lpq  -Isrc/include