0

私はopencvhighguiサンプル(connectedcomponents.cppなど)を見て、GUI要素の追加に慣れようとしています。現在、ボタンを追加しようとしています。

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

しかし、リンクエラーが発生します:

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

私が理解できる限り、私はQtCoreライブラリに対して適切にリンクしていません。私はこれを持っています:

mac: LIBS += -framework QtCore

この:

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

Qtプロジェクトの.proファイルにありますが、運がありません。osx10.6.8でQt4.7.4でOpenCV2.4.1を使用しています。

Qt CreatorでQtCoreにリンクして、OpenCVでcreateButtonを使用する正しい方法は何ですか?

4

1 に答える 1

0

今回はQtをサポートしてOpenCVを再インストールしましたが、コードは機能しました。それでも、いくつかのドキュメントを読んでわかったように、ボタンはデフォルトでコントロールパネルに入るということを覚えておく価値があります。

OpenCV Qt GUI

于 2012-08-11T09:42:28.800 に答える