很久没接触过linux了, 今天有个需求要在.netcore中调用so,默认例子试了一下很简单就成功了;
但是把自己代码编译成so后调用一直失败:undefined symbol: _ZN18XXXXXD1Ev???
这是怎么回事呢,话不多说,直接上图
命令: ldd -r xxx.so
可以看到最后两行和我们运行时的报错一模一样。
大家看到这应高懂了, 我这里第一行是自己写的类, 第二行是函数。
这两行意思就是 那个类以及那个方法有问题!!!
我自己的话GetCurrentTunnel方法是只定义了没实现所以报错;
暂时只遇到过这个原因,大家遇到了可以先排查一下,有其他原因也会导致这个错误的欢迎补充。