2012-07-28 3 views
0

opencv highgui 샘플 (예 : connectedcomponents.cpp)을보고 GUI 요소를 추가하는 데 익숙해졌습니다. 현재 내가 버튼을 추가하려고 해요 :OpenCV 및 Qt에서 createButton을 사용하도록 연결을 설정하는 방법은 무엇입니까?

void on_button(int, void*){ 
    cout << "click" << end; 
} 
//in main() 
createButton("test",on_button); 

하지만 난 링크 오류 얻을 : 지금까지 내가 제대로 QtCore 라이브러리와 연결하고 있지 않다 이해할 수

g++ -c -pipe -g -gdwarf-2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W -DQT_CORE_LIB -I../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/macx-g++ -I. -I../../../QtSDK/Desktop/Qt/474/gcc/lib/QtCore.framework/Versions/4/Headers -I../../../QtSDK/Desktop/Qt/474/gcc/include/QtCore -I../../../QtSDK/Desktop/Qt/474/gcc/include -I/opt/local/include -I../../../QtSDK/Desktop/Qt/474/gcc/include -I. -F/Users/george/QtSDK/Desktop/Qt/474/gcc/lib -o main.o main.cpp 
g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -o CVConnectedComponent main.o -F/Users/george/QtSDK/Desktop/Qt/474/gcc/lib -L/Users/george/QtSDK/Desktop/Qt/474/gcc/lib /opt/local/lib/libopencv_core.dylib /opt/local/lib/libopencv_contrib.dylib /opt/local/lib/libopencv_highgui.dylib /opt/local/lib/libopencv_objdetect.dylib /opt/local/lib/libopencv_imgproc.dylib /opt/local/lib/libopencv_features2d.dylib /opt/local/lib/libopencv_video.dylib -framework QtCore -F/Users/george/Documents/Qt/CVConnectedComponent/../../../QtSDK/Desktop/Qt/474/gcc/lib/ 
Undefined symbols: 
    "cv::createButton(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(int, void*), void*, int, bool)", referenced from: 
     _main in main.o 
make: Leaving directory `/Users/george/Documents/Qt/CVConnectedComponent' 
ld: symbol(s) not found 

합니다. 나는이했습니다 : 행운으로 Qt는 프로젝트의 .PRO 파일에서

mac: LIBS += -F$$PWD/../../../QtSDK/Desktop/Qt/474/gcc/lib/ -framework QtCore 

INCLUDEPATH += $$PWD/../../../QtSDK/Desktop/Qt/474/gcc/include 
DEPENDPATH += $$PWD/../../../QtSDK/Desktop/Qt/474/gcc/include 

:하지만,

mac: LIBS += -framework QtCore 

이 있습니다. osx 10.6.8에서 Qt 4.7.4로 OpenCV 2.4.1을 사용하고 있습니다.

OpenCV에서 createButton을 사용하려면 Qt Creator에서 QtCore에 연결하는 올바른 방법은 무엇입니까?

+0

'이력서 :: createButton'이 Qt' 프레임 워크 '의 일부가 아닙니다. (그렇다하더라도, QtCore와 QtGui 둘 다에 연결해야합니다.) 당신은 아마'highgui'와 연결해야합니다. – Lol4t0

+0

나는 그것을 모릅니다. 나는 highgui가 무대 뒤에서 Qt를 참조한다고 생각했습니다. 이미 libopencv_highgui.dylib에 링크되어 있지만 Symbol을 찾을 수 없습니다. 오류가 발생했습니다. –

+0

그리고 QtCore와 QtGui 프레임 워크에 대해 행운으로 링크를 시도했습니다. ( –

답변

0

OpenCV를 다시 설치했습니다. 이번에는 Qt 지원과 코드가 작동했습니다. 아직도 내가 reading some documentation에 의해 발견 버튼은 기본적으로 제어판에 들어갈 것으로 기억 가치 :

OpenCV Qt GUI

관련 문제