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

Windows Discussion :

Erreur de linkage (où trouver Dbghelp.lib? )


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Erreur de linkage (où trouver Dbghelp.lib? )
    bonsoir,
    j'ai (encore) un problème de linkage :
    j'aurais besoin de définir une structure _MINIDUMP_EXCEPTION_INFORMATION, définie dans Dbghelp.h. Mais mon compilateur (gcc) me balance un undeclared ! J'ai pourtant inclu le header, et j'ai aussi mis la dll Dbghelp.dll dans le même répertoire, mais ca ne marche pas. Je pense qu'il faurdrais que je link avec Dbghelp.lib (ou plutot libdbghelp.a) mais elle est introuvable !!
    Aidez moi s'il vous plait !

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Quel rapport entre "undeclared" et une erreur de linkage ?
    Es-tu sûr que ça compile, au moins ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Le rapport, c'est que comme la bibliotheque Dbghelp.lib n'est pas linkée avec le projet, le compilateur ne reconnait pas les structures. C'est pourquoi il me dit "undeclared" et "syntax error". Et donc, non, ca ne se compile pas.
    Ceci dit effectivement, ca compte comme un "build error" et pas "link error".

    C'est comme quand on met Sleep(100) alors qu'on a pas inclu windows.h.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Donc, tu m'expliquera le rapport entre une erreur de compilation (undeclared, syntax error, ça ne compile pas) et une bibliothèque statique (Dbghelp.lib).

    Quand tu auras compris, tu vérifieras que la structure en question est bel et bien déclarée dans le DbgHelp.h fourni avec MinGW (rien n'est moins sûr, car il manque pas mal de choses à MinGW) avant de parler de linkage et de bibliothèques...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    ok, alors :
    C:\Dev-Cpp\include\DbgHelp.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <imagehlp.h>
    Ouah ! alors on va voir dans imagehlp.h :
    rechercher > _MINIDUMP_EXCEPTION_INFORMATION :
    search string "_MINIDUMP_EXCEPTION_INFORMATION" not found
    On peut aussi essayer avec une autre fonction "undeclared", MiniDumpWriteDump() :
    search string "MiniDumpWriteDump" not found
    C'est pour ca que je me suis dis qu'il me manquait peut être quelque chose.

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Mais ce quelque chose n'est CERTAINEMENT PAS un truc utilisé au linkage, puisqu'on n'arrive même pas jusque-là...

    C'est une des nombreuses choses qui manquent à MinGW, au même titre que l'interface IActiveDesktop, etc.

    J'ignore s'il est possible de résoudre ce problème sous MinGW.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    en gros, il n'y a aucune solution ? Je ne pourrais jamais compiler ce genre de source ?

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est possible qu'il n'y en ait aucune avec MinGW.

    Ou bien, tu peux essayer de recopier/traduire le code depuis un header de Visual, mais c'est au niveau de la bibliothèque (.a vs .lib) qu'il y aurait d'autres problèmes...(solubles, parait-il)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    je vais formuler autrement :
    toi, tu ferais quoi ?
    Peut-être qu'il faut que je change de compilateur ? Ce n'est pas la première dois que j'ai des problèmes de ce genre avec MinGW.

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    J'utilise trop rarement MinGW pour répondre à ça... Mais je pense qu'en effet je repartirais de plus belle sous Visual, et tant pis pour opendir() etc. que MinGW apporte.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    haha, je viens justement d'essayer Visual.
    #include <windows.h> il connait pas on dirait...

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Pour VS2005 express, le SDK se télécharge séparément. Cherche "Microsoft Windows SDK" ou "Platform SDK"...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    bon, j'ai essayé de me mettre sous VC++ mais comme j'arrive pas le à configurer pour utiliser la SDK (j'ai que des link error), j'avance a rien.
    Sinon j'ai trouvé un header pour MinGW qui fonctionne (avec gcc je parle), mais comme j'ai toujours pas de lib, je me tappe (et bien, cette fois) un link error pour la fonction MiniDumpWriteDump.
    Par contre, j'ai aussi trouvé un dbghelp.def. Ca peut m'aider ? Non ?
    Que faire ?
    A l'aide !

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par evlan
    bon, j'ai essayé de me mettre sous VC++ mais comme j'arrive pas le à configurer pour utiliser la SDK (j'ai que des link error), j'avance a rien.
    Sinon j'ai trouvé un header pour MinGW qui fonctionne (avec gcc je parle), mais comme j'ai toujours pas de lib, je me tappe (et bien, cette fois) un link error pour la fonction MiniDumpWriteDump.
    Par contre, j'ai aussi trouvé un dbghelp.def. Ca peut m'aider ? Non ?
    Que faire ?
    A l'aide !
    Tu peux essayer de lier directement avec la DLL.
    Sinon, avec le ".def", tu peux créer un ".a" avec lequel tu lieras ton ".o".
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

Discussions similaires

  1. Erreur de linkage d'une Dll
    Par Hokagge dans le forum MFC
    Réponses: 1
    Dernier message: 30/03/2006, 14h48
  2. Erreur de Linkage GMP
    Par youbyoub dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 05/03/2006, 13h31
  3. Membres statiques d'une classe et erreur de linkage
    Par Neilos dans le forum C++Builder
    Réponses: 10
    Dernier message: 09/02/2006, 23h06
  4. [Liste Erreurs Oracle] Où la trouver ?
    Par poc dans le forum Oracle
    Réponses: 3
    Dernier message: 06/02/2006, 14h41
  5. [servlet][api][download] Où trouver la lib servlet.jar ?
    Par cpr0 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/02/2004, 21h07

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