OpenCV 2.3-对cvCreateButton的未定义引用-Eclipse

OpenCV 2.3 - undefined reference to cvCreateButton - Eclipse

本文关键字:未定义 引用 -Eclipse cvCreateButton OpenCV      更新时间:2023-10-16

我正在尝试使用这里描述的Qt新函数:http://opencv.willowgarage.com/documentation/cpp/qt_new_functions.html#cv-创建按钮

我还在SO上找到了这个话题:Visual Studio 2010中的openCV 2.2 createButton LNK 2019错误但是用QT编译不起作用。

无论如何,根据我的搜索,这似乎是一个链接问题。我怀疑我已经编译了OpenCV(没有QT),但我可以正常使用createTrackbar。

我试着使用createButton如下:

cv::createButton("buttonCanny",    buttonCallBackCanny,NULL,CV_RADIOBOX,true);

但我得到了这个错误:

对`cv::createButton的未定义引用(std::string const&,void()(int,void),void*,int,bool)'

我尝试了cvCreateButton,但我得到了相同的错误。

我有这个设置C/C++构建->设置->工具设置->MingGW C++链接器->库(编译OpenCV的所有.dll)

  • libopencv_calib3d230
  • opencv_ffmpeg
  • libopencv_contrib230
  • libopencv_core230
  • libopencv_features2d230
  • libopencv_frann230
  • libopencv_gpu230
  • libopencv_highgui230
  • libopencv_imgproc230
  • libopencv_legacy230
  • libopencv_ml230
  • libopencv_objectdetect230
  • libopencv_video230

C/C++构建->设置->工具设置->MingGW C++链接器->搜索路径(Dll所在的"C:\opencvbin\bin")

C/C++内部版本->设置->工具设置->GCC C++编译器->包含"C:\OpenCV2.3\build\include"

有什么建议吗?

谢谢!

好的,我犯了一些错误。

首先,我没有下载QT的源代码,只有SDK,没有源代码。必要的libs和可执行文件。

其次,我不得不在CMake Gui、中添加一些条目

我忽略了此消息:找不到Qt4(缺少:QT_QMAKE_XECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR QT_QTCORE_LIBRARY)

然后,我设置

  • QT_QMAKE_EXECUTABLE=C:\QT\4.8.0\bin\QMAKE.exe
  • QT_MOC_EXECUTABLE=C:\QT\4.8.0\bin\MOC.exe
  • QT_RCC_EXECUTABLE=C:\QT\4.8.0\bin\RCC.exe
  • QT_UIC_EXECUTABLE=C:\QT\4.8.0\bin\UIC.exe
  • QT_INCLUDE_DIR=C:\QT\4.8.0\INCLUDE

而且效果很好。

Trackbar似乎在没有Qt的情况下工作,所以当没有Qt可用时,他们可能会使用自己的Trackbar实现。

谢谢!