博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2010-07-14 23:46 OpenCV 2.1 两个小问题
阅读量:4618 次
发布时间:2019-06-09

本文共 1241 字,大约阅读时间需要 4 分钟。

转载自

1. Mingw 相关的 videoInput 的问题

Mingw4.4 编译OpenCV2.1 时,编译失败:

OpenCV2.1.0/src/highgui/http://www.cnblogs.com/3rdparty/lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0xee):

undefined reference to`__gxx_personality_sj0'

根源:问题出在 libvideoInput 这个静态库上,该库是由 Mingw  编译的,而 Mingw DW2 下不能用。

这样一来,只有自己来编译这个东西的,或者干脆不用它算了。

不过,还好,急用的话,网络上有人已经编译过了,

直接拷贝到 ${opencv_root}/3rdparty/lib 下替换掉原来的libvideoInput.a 就行了。

2. avcodec 相关

 

Compiler did not align stack variables. Libavcodec has been miscompiled

and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. You may try recompiling using gcc >= 4.2.
Do not report crashes to FFmpeg developers.

 

mingw 和 vs2008 编译后程序运行后,都有这个问题,但是Mingw可以正常运行,而VS2008的直接程序异常。

而在OpenCV2.0 中没遇到这个问题,对比一下二者相关的库和头文件

  • 3rdparty\lib\libavcodec.a
  • 3rdparty\include\ffmpeg_\avcodec.h

发现二者版本有所不同,

OpenCV2.0

#define LIBAVCODEC_VERSION_MAJOR 52

#define LIBAVCODEC_VERSION_MINOR 20
#define LIBAVCODEC_VERSION_MICRO 0

OpenCV2.1

#define LIBAVCODEC_VERSION_MAJOR 52

#define LIBAVCODEC_VERSION_MINOR 20
#define LIBAVCODEC_VERSION_MICRO 1

估计仍和前一个问题一样,是采用的Mingw编译器版本太低造成的,不想编译这个库,直接用2.0的库和头文件覆盖2.1的库和头文件,重新编译OpenCV2.1 问题消失。

即使不使用,程序退出时都报内存访问错误。

转载于:https://www.cnblogs.com/yingying0907/archive/2012/07/20/2601145.html

你可能感兴趣的文章
Regular Expression Matching leetcode
查看>>
关于循环中遍历的一些场景
查看>>
【转载】C/C++中的char,wchar,TCHAR
查看>>
SublimeText2 编辑器使用小结
查看>>
Debian 6 网络安装
查看>>
Python学习小记
查看>>
心灵学家宣称阿波罗16号宇航员发现外星飞船
查看>>
POJ 2186 Popular Cows
查看>>
Spring Boot:整合Spring Security
查看>>
html中 size和maxlength区别
查看>>
位运算和enum中的位运算
查看>>
浅谈面向对象的方法和属性
查看>>
我的github地址
查看>>
JSTL标签(核心标准库)
查看>>
MySQL 数据类型
查看>>
HDU 4893 线段树裸题
查看>>
转载的 Linux下chkconfig命令详解
查看>>
tomcat
查看>>
scrapy yield
查看>>
js中的this指针的用法
查看>>