Freeswitch ESL "cannot find -lesl"
Freeswitch ESL "cannot find -lesl"
我用 C 编写了一个简单的 ESL 应用程序。编译时 "ld" 抱怨找不到“-lesl”:
sudo gcc -o test_app main.c -lpthread -lm -lpq -lesl -L. -Isrc/include
/usr/bin/ld: cannot find -lesl
collect2: error: ld returned 1 exit status
我搜索了 "libesl.so" 但没有找到。我确定我在编译 Freeswitch 时遗漏了一些东西。任何人都可以指出,我错过了什么。谢谢。
解决如下:
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
第一步:
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
我用 C 编写了一个简单的 ESL 应用程序。编译时 "ld" 抱怨找不到“-lesl”:
sudo gcc -o test_app main.c -lpthread -lm -lpq -lesl -L. -Isrc/include
/usr/bin/ld: cannot find -lesl
collect2: error: ld returned 1 exit status
我搜索了 "libesl.so" 但没有找到。我确定我在编译 Freeswitch 时遗漏了一些东西。任何人都可以指出,我错过了什么。谢谢。
解决如下:
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
第一步:
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