linux下第三方库的配置和链接——以opencv为例
安装OpenCV(可参考链接)
- 下载source到
/usr/local/
路径下 - 新建
/build/
- cmake 编译
添加库路径
vim /etc/ld.so.conf
该目录作用参考链接- 输入:
include /etc/ld.so.conf.d/*.conf
/usr/local/lib
- 运行
sudo ldconfig
(作用见上面链接)
添加系统环境变量
vim /etc/profile
- 在末尾追加:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- 更新环境变量:
source /etc/profile
添加用户环境变量
vim /etc/bash.bashrc
- 在末尾追加:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- 更新环境变量:
source /etc/bash.bashrc
更新系统库缓存
ldconfig
查看是否安装成功
pkg-config --modversion opencv
编译并链接OpenCV
g++ example.cpp -o opencv_example `pkg-config --cflags --libs opencv`
./opencv_example
pkg-config --cflags --libs
的作用见链接
附录1:/etc/profile 和 ~/.bashrc 的区别(参考链接1,链接2)
- /etc/profile: 此文件为系统的每个用户设置环境信息
- ~/.bashrc: 是用户相关的终端(shell)的环境设置
附录2: 环境变量内$和:的用法(参考链接)
- 同一个环境变量名对应多个路径,可以用冒号:分隔
- 之前定义过的环境变量名,想要重复使用,可以用$跟上PATH_NAME
- 写法样例:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig #在原来的PKG_CONFIG_PATH基础上新增一个路径/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH #导入新增后的路径
也可以直接合并为
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig