2013-02-16 2 views
1

이건 힘든 일입니다! 제발이 초보자 질문에 대한 실수하지 말아요;) 나는이 OpenCV + MinGW 정적 물건에 너무 많은 마일을 가지고 간단한 실수 ....opencv ".a"라이브러리와 mingw 및 Qt 5.0 연결하기

환경 : a. MinGW (qt 프로젝트에서 표준 opensource 다운로드)로 빌드 된 Qt 5.0.1 - 모든 것이 동일한 MinGW 환경으로 구축되었습니다. b. CMake를 사용하여 최소한의 빌드 (Qt와 동일한 g ++/gcc 사용)를 설정하고 SHARED_LIBRARIES를 해제했습니다. c. cmake + mingw32-make + mingw32-make 설치가 잘 작동합니다. 여기까지 모든 것이 꽤 부드러운 모습까지

... 지금은 추가 할 때

:

win32-g++:INCLUDEPATH += D:/Dev/opencv/build/install/include 
win32-g++:LIBS += -LD:/Dev/opencv/build/install/lib 
win32-g++:LIBS += -static 
win32-g++:LIBS += -llibopencv_core243d 
win32-g++:LIBS += -llibopencv_imgproc243d 
win32-g++:LIBS += -llibopencv_highgui243d 

(또한없는 "는 Win32-g ++"추가 ..)

나는 d:/dev/qt/qt5.0.1/tools/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llibopencv_highgui243d

... 
... 

지금은 올바른 디렉토리에 libopencv_highgui243d.a가 있지만 ld.exe 링커는 lib가 아닌 다른 것을 무시하고 있습니다! MS 라이브러리 (나는 처음부터 피하고 싶었다 !!!) - 나는 .a 파일의 이름을 .lib로 바꾸어서 링커가 파일을 보았지만 많은 "참조되지 않은"오류를 표시하기까지했다. ...

누가 탓할 것입니까? 링커? CMake? 밍? Qt? .... 나는 많은 명령 줄/플래그 옵션하지만 성공하지 않고 시도

..

+0

안녕하세요 선생님 전문가 님, 초기 * lib *없이 사용해 보셨습니까? 예 :'LIBS + = -lopencv_core243d' – karlphillip

+0

나는 과거에 파일에 대한 전체 경로와 전체 파일 이름을'LIBS' (파일의 확장자 포함)으로 전달하는 데 성공했습니다. 예 :'LIBS + = D :/blah/blah/libopencv_highgui243d.a' – karlphillip

+0

안녕하세요 Karlphillip .. 그게 가장 이상하지만 사실입니다! 파일 이름이 실제로 libopencv_core243d.a (lib와 함께)이기 때문에 그것은 매우 이상합니다. 파일 이름 시작 ????? !!! 사소한 명령/협약은 ... ~~~~ 그게 나를 화나게하지만! 감사 X100000! –

답변

2
당신은 같은 라이브러리를 참조해야

: 이미에 LIB를 삽입

LIBS += -lopencv_core243d 
LIBS += -lopencv_imgproc243d 
LIBS += -lopencv_highgui243d 

-l 때문에 이름의 시작.