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

Visual C++ Discussion :

error LNK2019: unresolved external symbol


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut error LNK2019: unresolved external symbol
    Bonjour,

    J'ai un programme C dans lequel j'utilise la lib OpenCV pour faire du traitement d'image.
    J'ai installé cette lib.

    J'utilise Visual C++ 2008.
    Je suis donc allé dans tool -> options -> VC++ directories, et j'ai rajouté tous les include, lib, bin...

    Mais quand je compile :
    1>------ Build started: Project: modele, Configuration: Debug Win32 ------
    1>Linking...
    1>modele.obj : error LNK2019: unresolved external symbol _cvShowImage referenced in function "void __cdecl TraitementImage(int)" (?TraitementImage@@YAXH@Z)
    [...]
    1>modele.obj : error LNK2019: unresolved external symbol _cvCreateCameraCapture referenced in function _main

    1>C:\Users... : fatal error LNK1120: 14 unresolved externals

    les fonctions qui manquent sont dans <highgui.h>
    J'ai fait en sorte d'inclure le dossier contenant le dll correspondant, mais ca ne veut pas.

    Savez vous d'ou peut venir de probleme ?
    J'ai déja cherché sur de nombreux forums et essayé d'appliquer les solutions correspondant à ce type de problème, mais ca ne marche pas.

    Merci d'avance

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Points : 334
    Points
    334
    Par défaut
    Ici c'est un forum CBuilder, tu ferais mieux de demander dans le forum VC de developpez.com:
    http://www.developpez.net/forums/f29...pp/visual-cpp/

    C'est généralement indiqué avec la librairie a quelle compilateur et à quelle version de compilateur correspondent les .lib.
    Je ne sais pas si les .lib VC2005 sont compatibles avec VC2008.

    Sinon ce type d'erreur peut aussi provenir d'un switch de compilation. /MT /MD

    Enfin il doit y avoir un fichier config.h (ou quelque chose comme ça) avec OpenCV, la valeur de certaines macro indique le compilateur ciblé, c'est c'est pour une dll ou un executable,... alors il faut que tu lise la doc ou le .h.

    Il y surement des exemples avec OpenCV, et il y en a toujours pour VC. Regarde comment c'est fait au niveau de l'appel du .h.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Finalement, j'ai trouvé un ancien installer pour VC++ 2008.
    Effectivement, peut etre que les libs pour Visual Studio 2010 (les dernières) ne fonctionnent pas correctement avec VC++ 2008.

    Il faut aussi définir explicitement les dll à importer. Il ne suffit pas d'inclure les dossiers. Pour cela, il faut aller dans : Project -> propriétés -> linker -> input.
    Les dll se mettent dans la section additional dependencies.
    Walla, si ca peut aider quelqu'un.

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Points : 334
    Points
    334
    Par défaut
    Merci pour les infos et content pour toi.
    Microsoft qui pretend que VC2010 est le nouveau VC6. Encore une bonne blague de leur service marketting

    Ce n'est pas etonnant que des lib VC2010 ne soient pas compatibles avec VC2008. Ce qui m'étonne c'est que OpenCV soit distribué avec des librairies aussi récentes, mais c'est vrai qu'on est déja en 2011.

    J'ai l'intention de me mettre à OpenCV -un de ces jours, comme on dit- ça a l'air vraiment puissant.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 071
    Points : 12 116
    Points
    12 116
    Par défaut
    Juste pour remettre le cloché au centre du village.

    Le format des lib Visual n'a pas changé depuis le début des compilateurs Visual, c'est du COFF, et le mangling non plus n’a pas changé depuis les premiers C++.

    Le problème de compatibilité, il est entre la chaise et le clavier, quand le développeur s'obstine à utiliser une version de la C-Runtime qui est déprécié depuis plus de 10 ans.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DDK] error LNK2019: unresolved external symbol
    Par sloshy dans le forum Windows
    Réponses: 2
    Dernier message: 27/06/2008, 22h31
  2. Réponses: 25
    Dernier message: 23/02/2008, 21h35
  3. error LNK2019: unresolved external symbol
    Par ilimo dans le forum C++
    Réponses: 22
    Dernier message: 09/04/2006, 23h59
  4. error LNK2019: unresolved external symbol
    Par soniona dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 06/04/2006, 14h03
  5. Réponses: 4
    Dernier message: 23/04/2004, 16h06

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