0

我正在查看 opencv highgui 示例(如 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 文件中,但没有运气。我在 osx 10.6.8 上使用 OpenCV 2.4.1 和 Qt 4.7.4。

在 Qt Creator 中链接到 QtCore 以在 OpenCV 中使用 createButton 的正确方法是什么?

4

1 回答 1

0

我重新安装了 OpenCV,这次支持 Qt 并且代码有效。仍然值得记住的是,默认情况下按钮会进入控制面板,正如我通过阅读一些文档发现的那样:

OpenCV Qt 图形用户界面

于 2012-08-11T09:42:28.800 回答