Linux下编译Opencv2.3.1遇到的问题

13 篇文章 0 订阅
12 篇文章 0 订阅

原文地址:http://blog.csdn.net/xizero00/article/details/7386695#

我的Linux系统是ubuntu11.10 ,opencv版本是2.3.1

在编译的时候遇到了

  1. 1.  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local opencv-src路径  
  2.   
  3.      make     #遇到下面错误:  
  4.   
  5. make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o] Error 1  
  6. make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2  
  7. make: *** [all] Error 2  
感谢sleegod,他也遇到了同样的问题,这里给出他的博客:
http://blog.csdn.net/sleegod/article/details/6957965

为了方便,这里贴出他的解决方法

解决办法:

通过查看make过程中的错误知道,问题出在OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp文件中,

参考 https://code.ros.org/trac/opencv/ticket/1020 中 ffmpeg_build.patch 和 ffmpeg_build_2.patch 对 cap_ffmpeg_impl.hpp文件中的出错变量进行替换,

为了方便,附件是改好的cap_ffmpeg_impl.hpp,可直接替换同名原文件,已经测试过成功编译。

重新执行cmake 、 make步骤,此时成功编译不再出错。然后执行sudo make install命令安装。安装过程没有出问题。


2. 在Qt中使用opencv,pro文件中添加: 

INCLUDEPATH += /usr/local/include
LIBS += /usr/local/lib/libopencv_core.so.2.3.0 /usr/local/lib/libopencv_highgui.so.2.3.0  #lib文件没列全

并在正确mian.cpp文件中正确包含头文件后build, 出现以下错误:

error: undefined reference to av_guess_codec@...............

/usr/include/opencv/cxmisc.h:516: error: ‘CV_DEPTH_MAX’ was not declared in this scope

还有很多类似的编译链接错误,省略

解决办法: 

  1. sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev  

以上缺少什么安装什么,安装完后rebuild 运行,OK!

参考:http://www.matrixq.net/2011/10/10320.html?utm_source=rss


[附件] http://download.csdn.net/detail/sleegod/3780732

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值