指定运行时动态库位置的三种方式
来源:互联网 发布:mac上看美剧的软件 编辑:程序博客网 时间:2024/05/18 02:09
指定运行时动态库位置的三种方式
- 在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可通过三种方法来指定:方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径;方法二:通过环境变量LD_LIBRARY_PATH指定动态库搜索路径;方法三:在编译目标代码时指定该程序的动态库搜索路径。
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。
通过gcc参数指定
- 通过gcc参数制定之后就不需要配置环境变量和配置文件了。
-Wl,-rpath=${LD_PATH} #-Wl,-rpath=<动态库所在路径>g++ ${RPATH} ./opencv_knn.cpp -o knn
通过设置环境变量
- 只对当前shell有效,关闭shell或者退出当前用户则环境变量配置及无效了。
export LD_LIBRARY_PATH=/root/code/opencv/opencv-3.2.0/build/build/lib#LD_LIBRARY_PATH=<动态库所在位置>
通过配置文件
修改/etc/ld.so.conf文件。 其文件内容为: [root@VM_24_16_centos etc]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf [root@VM_24_16_centos etc]# 所以,可以在文件夹/etc/ld.so.conf.d/中添加自己的文件,例如:创建文件gx.conf, 然后在文件中添加动态库路径,例如: /root/code/opencv/opencv-3.2.0/build/build/lib 注意,保存退出之后需要执行命令ldconfig刷新当前缓存。
阅读全文
0 0
- 指定运行时动态库位置的三种方式
- linux 程序运行时 指定动态链接库位置 so library
- linux指定运行时的动态路径
- VS2015动态库静态加载时指定动态库位置的方法
- gcc 指定运行时动态库路径
- Linux 指定运行时动态库路径
- linux指定运行时动态库路径
- Linux 指定运行时动态库路径
- Linux 指定运行时动态库路径
- Linux下运行时指定动态库
- RecyclerView跳转到指定位置的两种方式
- RecyclerView跳转到指定位置的两种方式
- 运行applet的三种方式
- shell 的三种运行方式
- PHP的三种运行方式
- linux运行命令的三种方式
- mysql运行的三种方式
- Typescript的三种运行方式
- 一般处理程序多图片上传
- map的put和putIfAbsent使用
- 记一次由于断电造成虚拟机小红帽系统无法启动
- [LeetCode] 406. Queue Reconstruction by Height
- 集合位置
- 指定运行时动态库位置的三种方式
- 联网请求数据+更新ListView的UI——学习笔记
- 如何使Excel第一行保持不动,查看下面的行时,第一行始终显示在界面上?
- 研究 PHP opcode 是如何优化的
- AliOS开源
- recycleview点击事件
- Java中JDK为何要配Path和ClassPath?
- fragment和radiobutton
- 51nod1562-模拟&好题&链表|线段树-玻璃切割