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
posted @ 2022-05-25 16:56  levylaw  阅读(515)  评论(0编辑  收藏  举报