2012-01-18 27 views
1

我想使用這裏描述的Qt的新功能: http://opencv.willowgarage.com/documentation/cpp/qt_new_functions.html#cv-createbutton的OpenCV 2.3 - 未定義參考cvCreateButton - Eclipse的

而且我也發現了這個話題上SO: openCV 2.2 createButton LNK 2019 error in Visual Studio 2010 但QT編譯沒有工作。

無論如何,根據我的搜索,它似乎是一個鏈接問題。我的疑問是,我已經編譯OpenCV(沒有QT),但我可以正常使用createTrackbar。

我嘗試使用createButton就象這樣:

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

但我得到這個錯誤:

undefined reference to `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_fl ann230
  • libopencv_gpu230
  • libopencv_highgui230
  • libopencv_imgproc230
  • libopencv_legacy230
  • libopencv_ml230
  • libopencv_objdetect230
  • libopencv_video230

C/C++編譯 - >設置 - >工具設置 - > MingGW C++鏈接器 - >搜索路徑(「C:\ opencvbin \ bi N」,其中該DLL是)

C/C++編譯 - >設置 - >工具設置 - > GCC C++編譯器 - >含 「C:\ OpenCV2.3 \籌建\包括」

任何建議?

謝謝!

+0

您是否還將Qt DLL添加到項目中? – borges

+0

@borges ok,我添加了錯誤的庫,我忘了C:\ QtSDK \ QtCreator \ bin ..你知道我應該添加哪些庫嗎? – mrcaramori

回答

4

好的,我犯了一些錯誤。

首先,我沒有下載QT的源代碼,只有SDK,沒有源代碼。 那裏有必要的庫和可執行文件。

其次,我不得不添加在CMake的貴一些條目,

我忽略了這個消息: 找不到的Qt4(丟失:QT_QMAKE_EXECUTABLE 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可用。

謝謝!

+0

儘可能接受這個官方答案。點擊答案附近的複選框。 – karlphillip