undefined reference to `dlclose'问题解决方法

make[1]: Entering directory `/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2'
gcc -I/usr/local/include -I./confparser -I./include -o csfd server.o protocol.o data.o mempool.o pipeline.o common.o main.o module.o monitor.o log.o -Wl -L/usr/local/lib -L./confparser -lconfparser -levent -lpthread
main.o: In function `config_exec':
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/main.c:319: undefined reference to `dlclose'
module.o: In function `load_protocol_mod':
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:51: undefined reference to `dlopen'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:53: undefined reference to `dlerror'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:57: undefined reference to `dlsym'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:59: undefined reference to `dlerror'
module.o: In function `init_mod_config':
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:113: undefined reference to `dlopen'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:115: undefined reference to `dlerror'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:120: undefined reference to `dlsym'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:123: undefined reference to `dlerror'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:127: undefined reference to `dlclose'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:136: undefined reference to `dlclose'
/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2/module.c:144: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[1]: *** [csfd] Error 1
make[1]: Leaving directory `/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2'
make: *** [update] Error 1
原因:
要对使用
dlopen的文件编译时加上-ldl
在Makefile.in中LDFLAGS = -L/usr/local/lib -L./confparser -lconfparser -levent -lpthread -ldl栏中添加后面的-ldl选项

 实在不行项目下lib/下添加

libmysql.so

libmysql.so.16 

libmysql.so.16.0.0

libmysqlclient.a 

libmysqlclient.so

libmysqlclient_r.so 

原文地址:https://www.cnblogs.com/rooney/p/2577705.html