安装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

linux下第三方库的配置和链接——以opencv为例的更多相关文章

  1. 两分钟搞定VS下第三方库的配置(以GNU Regex Library库为例)

    写C的朋友大概知道导入一个库的痛苦,特别是在宇宙第一IDE--VS下更是无从下手,生怕一不小心就把VS搞崩了,而VS的卸载过程又是一个十分头疼的过程.所以,这里特此开了一篇如何在VS下配置第三方库的博 ...

  2. 深入理解LINUX下动态库链接器/加载器ld-linux.so.2

    [ld-linux-x86-64.so.2] 最近在Linux 环境下开发,搞了好几天 Compiler 和 linker,觉得有必要来写一篇关于Linux环境下 ld.so的文章了,google上搜 ...

  3. 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH

    谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ...

  4. Linux下动态库生成和使用

    Linux下动态库生成和使用 一.动态库的基本概念 1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序.动态链接库是目标文件的集合,目标文件在动态链接库中 ...

  5. Linux下静态库生成和使用

    Linux下静态库生成和使用 一.静态库概念 1.库是预编译的目标文件(object  files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. ...

  6. 查看Linux下*.a库文件中文件、函数、变量

    查看Linux下*.a库文件中文件.函数.变量等情况在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包 含哪些文件.函数.变量: 1. 查看文件:ar -t xxx.a 2. ...

  7. Linux下动态库的使用

    1.生成动态库: gcc -fPIC -shared -o libdemo.so demo.c 考虑程式库major的升级会破坏兼容性:而minior的升级则可能不会,一般建议用以下方式来生成动态库. ...

  8. Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so

    Linux下的库操作工具-nm.ar.ldd.ldconfig和ld.so .nm [options] file 列出file中的所有符号 [option] -c 将符号转化为用户级的名字 -s 当用 ...

  9. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  10. Linux下的Nginx的配置+Tomcat启动

    Linux下的Nginx的配置 首次如果你只仅主机模式,那么请你切换到桥接模式或者net模式. 1.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc ...

随机推荐

  1. 记录篇-浪潮服务器raid卡

    在说raid卡之前,首先,我们要明确,不同的raid卡型号,会有不同的配置方式,但是总体来说是大同小异的 这里举例浪潮机架式服务器经常用到的raid卡型号:  PM8204      (其实像3108 ...

  2. No.2.6

    vw/vh:(能够使用vw单位设置网页元素的尺寸) 相对单位 相对视口的尺寸计算结果 vw:viewport width(1vw=1/100视口宽度) vh:viewport height(1vh=1 ...

  3. golang json字符串合并操作

    用于两个json格式的字符串合并,当B向A合并时,共有的字段,将用B字段的值(伴随类型一起覆盖),非共有的,A的字段保留,B的字段新增. example代码: package main import ...

  4. apk文件查看指纹证书方法

    1. 先将apk文件重命名为zip文件 2. 解压zip到指定一个文件夹下,其中的META-INF/CERT.RSA文件即MD5签名文件 3. cmd下打开窗口,输入如下命令: keytool -pr ...

  5. git基础代码获取

    1.新建文件夹 2.使用命令git init 初始化 3.见你与远程厂库的连接,git remote add origin 远程仓库地址 4.将远程仓库代码拉去到本地,git fetch origin ...

  6. 应用kafka的经验

    Kafka 部署注意事项? 启动用户,非root 安装目录权限:除了数据目录和日志目录是读写外,bin目录是可执行,其他目录应该只读 默认端口修改 只容许内网访问 集成监控和管理软件 开启认证 Kaf ...

  7. CentOS7安裝 Nginx + php7 + php-fpm

    原文 : https://ivanagyro.medium.com/於centos7安裝-nginx-php7-php-fpm-laravel5-6-df8631681acf安装nginx 1/ 用y ...

  8. js 处理大数相减

    function sub(num1, num2) { if(num1 === num2) return '0' function lt(num1, num2) { if (num1.length &l ...

  9. Linux 中设置静态的IP

    Topic (What i going to write) Setting the static Ip address in linux Main Information Firstly use CD ...

  10. WARN hdfs.DataStreamer: Caught exception

    在向hdfs上传文件的时候,报了这么一个错: Exception in thread "main" java.lang.RuntimeException: org.apache.h ...