PB : Coder avec opencv :-/
Résolu
Stouf
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je n'ai pas travailler pendant 3 ans (pb de santé) et là je remets le nez dans la programmation et je cherche à coder avec openCV ! Je n't arrive pas :
J'ai installer codeblocks avec minGW comme compilo, ça fonctionne :-)
Ensuite, je cherche a utiliser openCV ! Je le télécharge et le décompresse, puis il faut créer les librairies openCV pour minGW, j'ai suivi un tuto pour faire tout ça (http://turrier.fr/articles/programmer-avec-codeblocks-et-opencv/programmer-avec-codeblocks-et-opencv.php),
ça télécharge cMake, joue avec make, minGW et openCV pour créer les librairies (moins long que les 45min excomptées), me fait ajouter des variables d'environnement, m'explique comment configurer le projet (lib, includes) mais je n'arrive pas à compiler :
Il ne connait pas les fonctions d'openCV :-/ et je ne comprends pas pourquoi !
Code
erreurs : (pour toutes les fonctions utilisées; il les connait pas !)
undefined reference to `cv::imread(std::string const&, int)
Pour moi l'erreur vient de la génération des librairies par cmake, comment s'en assurer ? y remédier ?
Merci beaucoup
Je n'ai pas travailler pendant 3 ans (pb de santé) et là je remets le nez dans la programmation et je cherche à coder avec openCV ! Je n't arrive pas :
J'ai installer codeblocks avec minGW comme compilo, ça fonctionne :-)
Ensuite, je cherche a utiliser openCV ! Je le télécharge et le décompresse, puis il faut créer les librairies openCV pour minGW, j'ai suivi un tuto pour faire tout ça (http://turrier.fr/articles/programmer-avec-codeblocks-et-opencv/programmer-avec-codeblocks-et-opencv.php),
ça télécharge cMake, joue avec make, minGW et openCV pour créer les librairies (moins long que les 45min excomptées), me fait ajouter des variables d'environnement, m'explique comment configurer le projet (lib, includes) mais je n'arrive pas à compiler :
Il ne connait pas les fonctions d'openCV :-/ et je ne comprends pas pourquoi !
Code
#include "opencv2/highgui/highgui.hpp" #include "opencv2/core/core.hpp" #include <iostream> using namespace cv; using namespace std; int main(int argc, const char** argv){ Mat img=imread("C:Users\Alan\Dropbox\Emplois\Evaluation post accident\test\test\lena.png",CV_LOAD_IMAGE_UNCHANGED); if (img.empty()){ cout<<"Error : Image cannot be loaded..!!"<<endl; return (-1); } namedWindow("MyWindow",CV_WINDOW_AUTOSIZE); imshow("MyWindow",img); waitKey(0); destroyWindow("MyWindow"); return (0); }
erreurs : (pour toutes les fonctions utilisées; il les connait pas !)
undefined reference to `cv::imread(std::string const&, int)
Pour moi l'erreur vient de la génération des librairies par cmake, comment s'en assurer ? y remédier ?
Merci beaucoup
1 réponse
Bonjour Stouf,
Cette erreur "undefined reference" est produite par le linker, qui n'arrive pas à trouver les éléments de la bibliothèque compilée (fichiers avec extension .a) définissant cette référence.
Ce problème peut venir de plusieurs causes :
- ta compilation a échoué en tout ou partie (tu aurais dû avoir des messages d'erreur)
- tu n'as pas ajouté aux paramètres de Codeblocks les fichiers .a résultant de la compilation
Vois aussi cette doc, qui explique en détails comme paramétrer Codeblocks pour utiliser une bibliothèque compilée pour MinGW :
https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie
Dal
Cette erreur "undefined reference" est produite par le linker, qui n'arrive pas à trouver les éléments de la bibliothèque compilée (fichiers avec extension .a) définissant cette référence.
Ce problème peut venir de plusieurs causes :
- ta compilation a échoué en tout ou partie (tu aurais dû avoir des messages d'erreur)
- tu n'as pas ajouté aux paramètres de Codeblocks les fichiers .a résultant de la compilation
Vois aussi cette doc, qui explique en détails comme paramétrer Codeblocks pour utiliser une bibliothèque compilée pour MinGW :
https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie
Dal
Merci tout de même ;-)
Il est effectivement plus simple de se procurer des binaires compilés pour MinGW, plutôt que de compiler soi même :-)