指定运行时动态库位置的三种方式
在Linux 中,动态库的搜索路径除了默认的搜索路径外(/lib和/usr/lib),可通过三种方法指定:
- 方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径;
- 方法二:通过环境变量LD_LIBRARY_PATH指定动态库搜索路径;
- 方法三:在编译目标代码时指定该程序的动态库搜索路径。
1.通过配置文件
修改/etc/ld.so.conf文件。
其文件内容为:
[root@]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
所以,可以在文件夹/etc/ld.so.conf.d/中添加自己的文件,例如:创建文件xw.conf,
然后在文件中添加动态库路径,例如:
/root/code/opencv/build/lib
注意,保存退出之后需要执行命令ldconfig
刷新当前缓存。
2.通过gcc参数指定
-Wl,-rpath=${LD_PATH} #-Wl,-rpath=<动态库所在路径>
g++ ${RPATH} ./opencv-bak.cpp -o bak
3.通过设置