OpenCV3.X 编译 ——libpng库问题相关解决方法

OpenCV3.X 编译 ——libpng库相关问题解决方法

简介

在ubuntu16.04 编译的, Opencv版本 OpenCV3.0 OpenCV3.2
原本电脑自带 libpng1.2.0,而OpenCV3.X 要求比这个版本高,我用的是libpng1.6 版本,成功编译

  • 遇到问题
  • 1 undefined : png_set_longjmp_fn
  • 2 更新完 libpng 后报错,这是由于旧版本没移除干净

解决方法

  • 删除旧链接
- 可以先定位libpng位置
locate libpng12*
主要在以下地方,可能有漏掉,自己locate查找
/usr/lib
/usr/local/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/pkgconfig
/lib/x86_64-linux-gnu
利用 ls libpng*
查找和libpng先关文件,然后删除,主要是.so 和 pkconfig下文件删除就可以,删除之前记得先截图,便于后面链接文件名。
例如这种

在这里插入图片描述

# 进入解压后文件夹
./configure --prefix= /home/usr/cv_local/  #假设安装到这里,自行修改
make  
make install
# 接下来把安转目录加到path
vim  ~/.bashrc
#写入下面环境变量后保存,路径记得自己更改
export PATH=/home/usr/cv_local/ bin:$PATH
export LD_LIBRARY_PATH=/home/usr/cv_local/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH= /home/usr/cv_local/lib/pkgconfig:$PKG_CONFIG_PATH
export C_INCLUDE_PATH=/home/usr/cv_local/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/home/usr/cv_local/include:$CPLUS_INCLUDE_PATH
  • 建立新链接
# 类似下面命令,建立和旧版本一样链接,就是之前说截图那些,12记得都换为16, /home/usr/cv_local/lib/libpng16.so.16 为箭头指向目录(已存在),下一个参数是要新建的库文件。
sudo ln -s /home/usr/cv_local/lib/libpng16.so.16  libpng16.so.16

例子:

在这里插入图片描述
变为
在这里插入图片描述

编译完OpenCV 3.2

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值