dlopen的undefined symbol 解决

自己编译了一下so,在程序里使用dlopen来调用。但是dlopen总是返回失败,使用dlerror查看错误原因,发现undefined symbol 原因造成的。

对so使用ldd -r命令发现很多undefined symbol的函数。

undefined symbol: _ZN6apache6thrift9transport7TSocket14setSendTimeoutEi (./libpersonalize.so)

检查cmake的脚本,发现没有把链接的的库,放到链接库列表中。修改cmake脚本,把需要的库放到链接库列表,就ok了。

你可能感兴趣的:(undefined,链接,symbol,dlopen)