在Windows下编译OpenCV SVN中继- highgui/libVideoInput错误



我知道有几个问题,但没有人告诉我我能做些什么来对付我得到的错误。

使用本指南,我已经能够使用本指南和cmake编译当前的OpenCV Release(2.2)。所以发布工作良好,我可以在Qt中使用它编写代码,因此我需要启用WITH_QT,并需要自己构建。

但不幸的是,我发现2.2版本不支持所有类型的相机(因为我想从720p网络摄像头获得相机流)。我读到这个问题已经在最新的svn trunk版本中修复了。

所以我检查出最新的svn主干,再次运行Cmake,创建一个新文件夹,选择源文件,MinGW编译链接到g++.exe和qcc.exe,配置并启用"WITH_QT"并生成必要的makefile。

然后我启动了一个Windows Powershell作为管理员,并试图用"mingw32-make"编译…但在56%时,它突然崩溃了:

[ 56%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_sunras.obj
[ 56%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_tiff.obj
Linking CXX shared library ....binlibopencv_highgui220d.dll
Creating library file: ....liblibopencv_highgui220d.dll.a
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
ee): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
104): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2a6): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2d4): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2fe): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
314): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
4b6): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
4e4): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1b41): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1b5a): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1bb4): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1c03): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1c88): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
1ca7): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2265): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
228d): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2318): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
2337): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
28f5): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
291d): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
38a0): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
38df): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
406b): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
40a3): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
4211): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
42ec): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
6cf8): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
6d17): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
6e1e): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
6e3e): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
7002): undefined reference to `_Unwind_SjLj_Resume'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
70b4): undefined reference to `__gxx_personality_sj0'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
70cd): undefined reference to `_Unwind_SjLj_Register'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
7111): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
742e): undefined reference to `_Unwind_SjLj_Unregister'
C:workspaceopencvOpenCV_SVNmoduleshighgui....3rdpartylib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x
7501): undefined reference to `_Unwind_SjLj_Resume'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [bin/libopencv_highgui220d.dll] Error 1
mingw32-make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
mingw32-make: *** [all] Error 2

所以它似乎有一些错误时编译libVideoInput…有人熟悉这个错误吗?我该怎么修理它?我之前需要安装什么特别的东西吗?

如果有人能帮我就太好了!谢谢!

理论上,通过与QT一起安装OpenCV,您不需要highgui库。所以在安装OpenCV的过程中,你应该从Cmake gui中取消选择highgui。在Youtube/Web上有一些教程展示了如何使用OpenCV和QT而不使用highgui lib。祝你好运

相关内容

  • 没有找到相关文章

最新更新