2014-12-26 6 views
1

MINGW + tbb + opencv를 사용하려고했습니다. 시도했을 때. 문제는 opencv 테스트 또는 일부 프로그램을 실행하는 동안 오류가 발생합니다. 예를mingw를 사용하여 tbb를 빌드하는 중 연결 오류가 발생했으며 동시에 opencv 런타임 오류

에 대한

test_job_automaton.exe - 시작 지점

프로 시저 시작 지점의 __gxx_personality_v0가 동적 연결 라이브러리 c 찾을 수 없습니다 찾을 수 없습니다 : \ TBB \ 구축 \ windows_ia32_gcc_mingw4.9.1_debug \ test_job_automaton.exe을 .

또는

LIBFR.exe -

프로 시저 시작 지점의 __gxx_personality_v0 동적 연결 라이브러리 D 찾을 수 없습니다 찾을 수 없습니다 엔트리 포인트 : 드롭 박스 \ 얼굴의 SDK \ QTprojects \ 구축 \를 -libfr-Desktop_Qt_5_4_0_MinGW_32bit-Release \ release \ tbb.dll.

는 나는 3, 이러한 DLL을 함께 OpenCV의를 구축하는 것은 괜찮 확인 DLL을 빌드 그것을

mingw32-make arch=ai32 compiler=gcc -j4 

을 구축 TBB의 디렉토리에서이 명령을 실행할 수 있지만 실행 내가와 Mingw 4.9 시도

아니다 0.1도 4.8.2

나는 내가 사용하려고한다는 것을 알게 g ++ 내가

을 시도 할 때 대신하지만 창문이 지원되지 않습니다

또한 mingw32와 mingw32-w64를 사용하려고했습니다.

tbml 내에서 rml을 빌드 할 때도 같은 오류가 발생하므로 opencv를 설치하지 않아도 문제가 발생하지 않습니다.

내가 또한

모든 아이디어의 사람 TBB

의 4 가지 버전을 시도

mingw32-make arch=ai32 compiler=gcc -j4 rml 

이 명령을 사용하여 RML을 구축하려면?

+0

나는'arch = ai32 '오타가 아니라 실제 명령을 시도한 것이 아닌가? – Anton

+0

예, 오타가 있습니다. http://stackoverflow.com/questions/16767464/how-to-install-opencv-with-tbb-enabled-using-mingw –

답변

0

(언급 한대로) __gxx_personality_v0suggests이 없으면 프로그램이 다르게 연결되어야합니다. g++을 통해 C++ 예외 처리 및 C++ 런타임 링크가 가능합니다. 따라서 실제 문제는 TBB가 아닌 g++을 사용할 수 없다는 것입니다. MinGW를 설치하면 정상적으로 작동합니다. TBB를 구축 할 수 있다면 TBB를 빌드하는 데 사용되기 때문에 g++이 작동한다고 가정합니다.

예를 들어, TBB 및 테스트가 컴파일 할 때 g 용 ++를 사용하는 방법을 볼 수 있습니다

mingw32-make -rj compiler=gcc tbb test_task -C src 

은 또한, 나는 당신이 이제까지 RML이 필요합니다 의심한다.당신이 정말로 RTTI와 예외 처리, 당신은 예외없이 TBB를 구축을 실험 할 수 있도록 할 수없는 경우

지원 : -에서 6.dll

mingw32-make -rj compiler=gcc clean tbb CXXFLAGS=-DTBB_USE_EXCEPTIONS=0 
+0

예 저는 RML이 필요하지 않지만 같은 오류가 있습니다. 그래서 디버깅 목적을 위해 내 오류가 어디에 있는지 찾아내는 데 도움이됩니다. G ++ 버전을 실행하면 gcc 버전이 나타납니다. 독립 실행 형 에디션 mingw32-w64 또는 QT 작성자와 함께 다운로드 한 경우에도 두 번 모두 실행됩니다. 어떤 버전을 사용합니까? 나는 그 시험을 시도 할 것이다 –

+0

G ++는 gcc이고, 그것이 gcc라고 말하는 것은 괜찮다. gcc를 gcc로 바꾼다. 빌드 명령에서 g ++로 바꾼다. – Anton

+0

proposal을 시도했을 때 test_task가 나타나지 않았다. –

0

문제는 GnuPG는 설치도 된 libstdC++을 가지고 있었다 다른 버전의 mingw는 자동으로 내 경로에 추가되었고, gcc 디렉토리의 경로 대신이 dll을 사용하여 모든 작업을 완료했습니다. 도움을 주셔서 감사합니다.