IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Erreur de lieur avec la librairie OpenCV


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par d�faut Erreur de lieur avec la librairie OpenCV
    Bonjour,

    J'ai besoin d'utiliser la librairie OpenCV. J'utilise BCB 6.0.
    J'ai ajout� les liens vers OpenCV dans les include Path et library Path.

    Cependant lorsque j'essaie de lancer le simple programme ci-dessous (j'ai bien ajouter les include cv.h et highgui.h en ent�te)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    void __fastcall TASL::Button1Click(TObject *Sender)
    {
     
        //On déclare "un pointeur vers une structure IplImage" :
        //En gros, on "déclare une image".
        IplImage *img;
     
        //On charge notre image depuis un fichier.
        img=cvLoadImage("C:\Users\Public\Pictures\Sample Pictures\Arbres.jpg");
     
        //On crée une fenêtre intitulée "Hello World",
        //La taille de cette fenêtre s'adapte à ce qu'elle contient.
        cvNamedWindow("Hello World", CV_WINDOW_AUTOSIZE);
     
        //On affiche l'image dans la fenêtre "Hello World".
        cvShowImage("Hello World", img);
     
        //On attend que l'utilisateur appuie sur une touche (0 = indéfiniment).
        cvWaitKey(0);
     
        //Destruction de la fenêtre.
        cvDestroyWindow("Hello World");
     
        //Libération de l'IplImage (on lui passe un IplImage**).
        cvReleaseImage(&img);
     
    }
    j'obtiens les erreurs suivantes

    [Linker Error] Unresolved external '_cvLoadImage' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ
    [Linker Error] Unresolved external '_cvNamedWindow' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ
    [Linker Error] Unresolved external '_cvShowImage' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ
    [Linker Error] Unresolved external '_cvWaitKey' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ
    [Linker Error] Unresolved external '_cvDestroyWindow' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ
    [Linker Error] Unresolved external '_cvReleaseImage' referenced from C:\USERS\PASCAL\CODE\SDIMAIN.OBJ


    J'ai ensuite essayer de copier les DLL contenues dans le r�pertoire BIN de OpenCV dans mon r�pertoire contenant le projet, mais �a n'a rien chang�.

    Qu'ai-je oubli� de faire ?
    merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    46
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 46
    Par d�faut erreur de lieur open cv
    bonjour monsieur,
    je croit que t'a un probleme avec la version de dll de opencv, et pour cela ,ouvre l'invite de commande ,puis allez vers le fichier bin de borland6,vous trouvez un fichier coff2oem, c'est avec ce fichier que vous convertissez les fichier dll de opencv existantes vers les fichier conforme puis ajoutez ces derniers a votre bcb6 , dans l'invite de commande tapez :
    "coff2oem /?" pour savoir comment convertir et bonne chance .

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par d�faut
    Quelques pr�cisions:

    Voici comment j'ai rajouter les .h et les lib dans mon projet.



    Le probl�me pourrait il venir du fait que j'utilise VISTA?

    J'ai aussi rajouter le chemin d'OpenCV dans les variables syst�mes.
    Images attach�es Images attach�es   

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par d�faut
    Merci de ta r�ponse tmooth!

    J'ai tout d'abord essay� de convertir directement les librairies en copiant

    cv.lib, cvaux.lib, highgui.lib, cvcam.lib, cxcore.lib

    dans le repertoire bin de borland, puis en appelant la fonction coff2oem dans l'invit� de commande de la fa�on suivante:

    coff2oem cv.lib cv_bcb.lib

    mais rien ne se passait. J'ai alors copier les libs et coff2oem dans un r�pertoire plac� plus haut que Program Files et l� �a a march� (vive VISTA).

    J'ai ensuite copier les nouvelles librairies g�n�r�es par coff2oem (cv_bcb.lib, cvaux_bcb.lib, highgui_bcb.lib,...) dans un nouveau r�pertoire dans OpenCV que j'ai appel� lib_bcb. Dans mon projet sur BCB j'ai ensuite linker les libs vers ce nouveau dossier.

    Mais lorsque j'ai recompil� j'obtiens toujours les m�mes erreur de lieurs.

    Une autre id�e?

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Par d�faut
    Peut �tre le probl�me vient d'une mauvais conversion avec coff2oem?
    Pour la conversion je fais dans l'invit� de commande:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    coff2omf.exe cv.lib cv_bcb.lib
    et j'ai un nouveau fichier cv_bcb.lib qui est cr�e. Cependant, j'ai remarqu� que la taille du fichier est bien plus petite. Est-ce normal?

    Peut �tre dois-je �tre plus pr�cis quand aux options de coff2omf?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Syntax:   COFF2OMF [options] InputFile OutputFile
      -h, -?  Display help
      -q      Quiet mode
      -v      Verbose mode
      -r      Remove (delete) output file if empty
      -lib:xx Specify options for OMF import library generation:
           ms - Allow entries that have MS C++ name mangling (default: n
           st - Normalize names instead of aliasing MS stdcall mangling
           ca - Don't perform MS cdecl aliasing (default is to alias)
    Je stock ensuite ces nouvelles librairies (cv_bcb.lib, cvaux_bcb.lib, cvcam_bcb.lib, cxcore_bcb.lib et highgui_bcb.lib) dans un dossier lib_bcb et je link vers le dossier depuis mon projet (dans les directories options).

    Toute autre id�e, remarque est bienvenue...

  6. #6
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Salut,
    je me trompe peut �tre mais il ne me semble pas que ce soit un probleme de lib coff, car il me semblais que pour les lib coff il y avait un message d'erreur sp�cifique du compilateur

Discussions similaires

  1. Erreur LNK2019 avec VS2010 et OpenCV 2.4
    Par Biloy dans le forum OpenCV
    R�ponses: 7
    Dernier message: 06/01/2013, 15h09
  2. R�ponses: 4
    Dernier message: 03/02/2012, 18h49
  3. Probl�me ex�cution avec librairie OpenCV
    Par RedDrak dans le forum NetBeans
    R�ponses: 1
    Dernier message: 06/06/2011, 14h58
  4. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    R�ponses: 6
    Dernier message: 25/04/2005, 13h58
  5. Erreur de sgmentation avec malloc
    Par simonm dans le forum C
    R�ponses: 5
    Dernier message: 27/02/2003, 08h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo