1、linux默认库搜索路径是/lib和/usr/lib;
2、/etc/ld.so.conf中指定的动态库搜索路径;
这个文件的每一行都是动态库的搜索路径。
3、编译目标代码时指定的动态库搜索路径;
在编译目标代码时指定程序的动态库搜索路径。这是通过gcc 的参数"-Wl,-rpath,"指定(如例3所示)
例如: gcc -o pos main.c -L. -lpos -Wl,-rpath,./
4、在PKG_CONFIG_PATH中指定路径;
有的库文件编译安装好之后会有一个.pc文件(例如:opencv.pc)
这个.pc文件中写明了库文件的安装目录,linux系统在编译和链接的时候自动搜索/usr/local/pkg文件,搜索所有的pkg路径中是否有文需要的动态库文件;
5、在环境变量LD_LIBRARY_PATH中添加路径,LD_LIBRARY_PATH是添加在默认路径之外的动态库文件路径。
例如:export LD_LIBRARY_PATH=/root/test/env/lib
2、/etc/ld.so.conf中指定的动态库搜索路径;
这个文件的每一行都是动态库的搜索路径。
3、编译目标代码时指定的动态库搜索路径;
在编译目标代码时指定程序的动态库搜索路径。这是通过gcc 的参数"-Wl,-rpath,"指定(如例3所示)
例如: gcc -o pos main.c -L. -lpos -Wl,-rpath,./
4、在PKG_CONFIG_PATH中指定路径;
有的库文件编译安装好之后会有一个.pc文件(例如:opencv.pc)
这个.pc文件中写明了库文件的安装目录,linux系统在编译和链接的时候自动搜索/usr/local/pkg文件,搜索所有的pkg路径中是否有文需要的动态库文件;
5、在环境变量LD_LIBRARY_PATH中添加路径,LD_LIBRARY_PATH是添加在默认路径之外的动态库文件路径。
例如:export LD_LIBRARY_PATH=/root/test/env/lib
但是这样做只在当前的终端有效,重启之后会失效,因此最好将上面的命令添加到/etc/profile中。
参考:http://blog.csdn.net/onlyou930/article/details/6565906