gpt4 book ai didi

c - 自由开关ESL "cannot find -lesl"

转载 作者:行者123 更新时间:2023-11-30 17:21:45 25 4
gpt4 key购买 nike

我用 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

关于c - 自由开关ESL "cannot find -lesl",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28205692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com