2011-04-11 2 views
-1

여기에 대해 몇 가지 질문이 있지만 알고있는 오류가 발생했을 때 내가 어떤 조치를 취하고 있는지 알 수 없습니다.Windows에서 OpenCV SVN 트렁크 컴파일 - highgui/libVideoInput에서 오류가 발생했습니다.

this guide을 사용하여이 안내서와 cmake를 사용하여 현재 OpenCV Release (2.2)를 컴파일 할 수있었습니다. 그래서 릴리스 잘 작동하고 Qt에서 사용하여 코드를 작성할 수 있습니다. 따라서 WITH_QT가 활성화되어 있어야하며 직접 빌드해야합니다.

그러나 불행히도 2.2 릴리즈는 모든 유형의 카메라를 지원하지 않는다는 것을 알았습니다. (720p 웹캠에서 카메라 스트림을 얻고 싶습니다.) 나는 이것이 최신 svn 트렁크 버전에서 수정되었음을 읽었습니다.

그래서 최신 svn 트렁크를 확인하고 다시 Cmake를 실행하고, 새 폴더를 만들고, 소스 파일을 선택하고, MinGW를 g ++ .exe 및 qcc.exe에 대한 링크로 컴파일하고, "WITH_QT"를 설정하고 활성화했습니다. 필요한 Makefiles.

내가 다음 관리자로 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 ..\..\bin\libopencv_highgui220d.dll 
Creating library file: ..\..\lib\libopencv_highgui220d.dll.a 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
ee): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
104): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2a6): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2d4): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2fe): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
314): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
4b6): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
4e4): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1b41): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1b5a): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1bb4): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1c03): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1c88): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
1ca7): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2265): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
228d): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2318): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
2337): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
28f5): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
291d): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
38a0): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
38df): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
406b): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
40a3): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
4211): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
42ec): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
6cf8): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
6d17): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
6e1e): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
6e3e): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
7002): undefined reference to `_Unwind_SjLj_Resume' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
70b4): undefined reference to `__gxx_personality_sj0' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
70cd): undefined reference to `_Unwind_SjLj_Register' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
7111): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/libvideoInput.a(videoInput.o):videoInput.cpp:(.text+0x 
742e): undefined reference to `_Unwind_SjLj_Unregister' 
C:\workspace\opencv\OpenCV_SVN\modules\highgui\..\..\3rdparty\lib/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 ... 을 컴파일 할 때이 오류에 익숙한 사람이 있습니까? 어떻게 해결할 수 있습니까? 이전에 특별한 것을 설치해야합니까?

누구든지 나를 도울 수 있다면 좋을 것입니다! 감사!

+0

여기에 제안 된 것을 시도해 보셨습니까? http://opencv-users.1802565.n2.nabble.com/Error-compiling-OpenCV-with-MinGW-and-Qt-td5445502.html –

+0

링크를 가져 주셔서 감사합니다 ... 방금 시도 ... 복사 한 2.2 릴리스 소스에서 libvideoinput.a를 다운로드 한 svn 트렁크로 컴파일했지만 동일한 오류가 발생했습니다 ... 2.1 버전에서 시도해 보았습니다 ... 아무런 변화가 없었습니다 ... – evident

+0

또한 2.1을 컴파일하려고했습니다. 릴리스하지만 2.2 NSN 트렁크와 같은 오류가 발생합니다 ... 2.2 릴리스 작동합니다 ... – evident

답변

1

이론적으로 OpenCV를 QT와 함께 설치하면 highgui 라이브러리가 필요하지 않습니다. 따라서 OpenCV를 설치하는 동안 Cmake gui에서 highgui를 선택 해제해야합니다. Youtube/Web에는 highgui lib없이 OpenCV 및 QT를 사용하는 방법을 보여주는 자습서가 있습니다. 그걸로 행운을 빕니다

+0

더 나은 솔루션을 highgui 선택하고 "WITH_QT"Cmake gui, 읽어야 할 수도 있습니다 선택을 취소하는 것입니다 그리고 이미지를 써라. – de20ce

관련 문제