Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Opencv 2.4.5 + Qt 5.1.1 + CUDA

Bonjour à tous :)

Je code sur Qt 5.1.1 avec Qt Creator et opencv 2.4.5 depuis quelques mois sans problème.

J'ai besoin d'installer CUDA donc j'ai recompilé opencv avec WITH_CUDA = On
(et j'ai installé le toolkit, SDK et tout le tralàlà)

Pour cela j'ai dû utiliser le compilateur VC10. Avant j'utilisais MinGW mais pour cuda ce n'est pas bon.
Je passe par CMake-gui pour recompiler

Ok, Cuda est reconnu etc.

Sauf que lorsque je fais un code simple pour savoir si la gpu est bien trouvé, ... ban ce n'est pas bon:

// test si gpu est installé
try {
qDebug() << " gpu " << cv::gpu::getDevice();

}
catch(cv::Exception &ex) {
qDebug() << " erreur gpu " << ex.what() << endl;
}
et j'obtiens l'erreur :

OpenCV Error: No GPU support (The library is compiled without CUDA support) in getDevice, file H:\opencv245\opencv\modules\core\src\gpumat.cpp, line 109

Je me demande si ceci n'est pas dû au fait que Qt Creator utilise toujours MinGW.
Mon problème c'est :
1 : je ne suis pas sûre de ce que j'avance et c'est pour cela la demande de vos lumières
2 : je ne sais pas comment modifier cela => Sur Qt Creator j'ai "Versions de Qt" qui pointe vers un qmake MinGW et sur les compilateurs j'ai une liste de compilos auto-detectés.

Voilà, j'espère que quelqu'un pourra m'aiguiller pour tenter de savoir ce qu'il se passe
merci bien à tous {)

Réponses

  • Salut

    Je ne connais pas du tout la configuration d'OpenCV avec CUDA, mais du code CUDA doit être compilé par nvcc (le compilateur NVIDIA, qui appelle lui même le compilateur C++ pour les parties du code hôte). Ce qui complique forcement le processus de compilation.
    En général, dans ce cas, les "grosses" libs (dont OpenCV forcement) ont configurées leurs chaînes de compilation pour prendre compte de CUDA de façon transparente. Il faut regarder en détail la doc OpenCV.

    Une fois que ça sera fait, il faut simplement utiliser un compilateur compatible avec ta version compilée de ta lib (si tu as compilé OpenCV-CUDA avec MSVC, il te faut MSVC). C'est valable aussi pour Qt : tu dois avoir une version de Qt compilé aussi avec MSVC. Si tu as installé que la version de Qt pour Minwg, il est normal que tu ne trouves pas la bonne version dans Qt Creator. Pour l'installation de Qt-MSVC, il faut bien penser à installer compilateur, configurer les kits, etc. J'avais fait une vidéo : https://www.youtube.com/watch?v=6X3VtWNHADo
  • December 2013 modifié
    Je te remercie je vais regarder tout ça

    Quelle galère à chaque fois!!!

    Tout devient de plus en plus complexe en informatique

    Merci encore

    *****************************************************
    je reviens vers toi, selon ta vidéo cela va m'installer aussi QtCreator mais pour une version avec VC10 c'est ça?

    merci encore

    Ah, je peux installer la version avec VS2012? Je suis sur 64 bits ce serait mieux non?
  • Salut,
    je suis à nouveau là car finalement j'ai installé la version avec VS 2010 32bits + Opengl

    Sauf que maintenant j'ai un souci de compil :

    erreur : LNK1146: no argument specified with option '/LIBPATH:'

    je n'ai rien changé dans mon .pro

    LIBS += -LH:/opencv245/opencv/release/install/lib -llibopencv_calib3d245 -llibopencv_contrib245 -llibopencv_core245 -llibopencv_features2d245 -llibopencv_flann245 -llibopencv_gpu245 -llibopencv_highgui245 -llibopencv_imgproc245 -llibopencv_legacy245 -llibopencv_ml245 -llibopencv_nonfree245 -llibopencv_objdetect245 -llibopencv_photo245 -llibopencv_stitching245 -llibopencv_video245 -llibopencv_videostab245 \
    -LH:/opencv245/opencv/release/install/bin -llibopencv_calib3d245 -llibopencv_contrib245 -llibopencv_core245 -llibopencv_features2d245 -llibopencv_flann245 -llibopencv_gpu245 -llibopencv_highgui245 -llibopencv_imgproc245 -llibopencv_legacy245 -llibopencv_ml245 -llibopencv_nonfree245 -llibopencv_objdetect245 -llibopencv_photo245 -llibopencv_stitching245 -llibopencv_video245 -llibopencv_videostab245 -lopencv_ffmpeg245

    qu'est-ce qu'il faut changer ?

    merci bien
Connectez-vous ou Inscrivez-vous pour répondre.