DATE: 2021.12.20
1、问题描述
在运行可执行文件时,报错如下:
./test: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
2、问题分析
从问题描述来看,是找不到依赖的动态库。在编译可执行文件时,需要指定需要链接的库和头文件,同样地,在运行时,也需要指定链接的库文件。
查看可执行文件依赖的库的方法:
$ ldd test
linux-vdso.so.1 (0x00007ffffcdcc000)
libavcodec-58.so => ../lib/libavcodec-58.so (0x00007ffff0ae0000)
libavutil-56.so => ../lib/libavutil-56.so (0x00007ffff0a50000)
libc.so.6 => /lib/mips64el-linux-gnuabi64/libc.so.6 (0x00007ffff0860000)
/lib64/ld.so.1 (0x00007ffff0f44000)