2012-01-18 3 views
1

Je suis en train d'utiliser les nouvelles fonctions Qt décrites ici: http://opencv.willowgarage.com/documentation/cpp/qt_new_functions.html#cv-createbuttonOpenCV 2.3 - référence non définie à cvCreateButton - Eclipse

Et je trouve aussi sur ce sujet: SO openCV 2.2 createButton LNK 2019 error in Visual Studio 2010 mais la compilation avec QT n'a pas fonctionné .

Quoi qu'il en soit, selon mes recherches, il semble y avoir un problème de liaison. Mon doute est que j'ai déjà compilé OpenCV (sans QT) mais je peux utiliser normalement la createTrackbar.

J'ai essayé d'utiliser la CreateButton comme ceci:

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

Mais je reçois cette erreur:

undefined reference to `cv::createButton(std::string const&, void ()(int, void), void*, int, bool)'

J'ai essayé le cvCreateButton mais je reçois la même erreur.

J'ai cette configuration C/C++ Construire -> Paramètres -> Paramètres de l'outil -> MingGW C++ Linker -> Bibliothèques (tous les .dll compilé OpenCV)

  • 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++ Construire -> Paramètres -> Paramètres de l'outil -> MingGW C++ Linker -> Chemin de recherche ("C: \ opencvbin \ bi n » où la dll sont)

C/C++ Construire -> Paramètres -> Paramètres de l'outil -> GCC compilateur C++ -> Comprend "C: \ OpenCV2.3 \ build include \"

Toutes les suggestions?

Merci!

+0

Avez-vous également ajouté les DLL Qt au projet? – borges

+0

@borges ok, j'ai ajouté la mauvaise bibliothèque, j'ai oublié de C: \ QtSDK \ QtCreator \ bin .. savez-vous quelles bibliothèques dois-je ajouter? – mrcaramori

Répondre

4

Ok, j'ai fait quelques erreurs.

Premièrement, je ne téléchargeais pas le code source de QT, seul le SDK, sans code source. Les libs et les exécutables nécessaires là.

En second lieu, je devais ajouter quelques entrées dans le CMake Gui,

J'ignorais ce message: n'a pas pu trouver Qt4 (manquante: QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR QT_QTCORE_LIBRARY)

, je définir

  • 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

et cela a bien fonctionné. Trackbar semble fonctionner sans Qt, donc ils utilisent probablement leur propre implémentation d'une barre de suivi quand il n'y a pas de Qt disponible.

Merci!

+0

Acceptez ceci comme réponse officielle quand vous le pouvez. Cliquez sur la case à cocher près de la réponse. – karlphillip