Open shenkonghui opened 2 years ago
编译成功,但是执行提示undefined symbol: add 代表当前可执行文件找不到相应的方法add
通过ldd -r命令验证
undefined symbol: add (./main) linux-vdso.so.1 => (0x00007fff9df27000) libadd.so => not found libc.so.6 => /lib64/libc.so.6 (0x00007f6104708000) /lib64/ld-linux-x86-64.so.2 (0x00007f6104ad6000)
寻找动态库或者静态链接库
[root@localhost 4.shard_lib]# nm libadd.so |grep add 00000000000005da T add
加入动态链接库寻找路径即可
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<包含该函数的动态链接库路径>
同样适用nm 命令查看是否包含该方法
然后在Cmake的里面进行链接
指定静态链接库
TARGET_LINK_LIBRARIES(<path>/libxxx.a)
编译成功,但是执行提示undefined symbol: add 代表当前可执行文件找不到相应的方法add
通过ldd -r命令验证
寻找动态库或者静态链接库
动态连接库
加入动态链接库寻找路径即可
静态链接库
同样适用nm 命令查看是否包含该方法
然后在Cmake的里面进行链接
指定静态链接库