在嵌入式开发的时候,会引用很多的.so文件,当通过编译工具编译好后,运行程序,可能会出现缺少库的情况,如下图:
./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现上面的现象是,操作系统运行程序会查找所要依赖的库文件,而在库文件的环境变量路劲下面没有找到所需要的文件,所以系统报错。
解决方法:
1、在/etc/ld.so.conf文件中添加自己所需要的库文件路劲。
2、通过命令指明本次程序运行所依赖的库文件路劲。其中$PWD/lib就是库文件所在的命令,该命令每次都需要运行
export LD_LIBRARY_PATH=$PWD/lib
查看程序所需要的那些库文件:
ldd tests