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++ Discussion :

Petit bug de compilation


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 34
    Points : 12
    Points
    12
    Par défaut Petit bug de compilation
    Bonjour à tous,

    J'ai un léger problème que je cherche à résoudre. Voilà, j'ai trouvé du code que je souhaite compiler mais le compilateur (VC++6.0) m'affiche l'erreur suivante: "error C2065: 'DWORD_PTR' : undeclared identifier". Après un peu de recherche, j'ai trouvé que j'avais besoin de la librairie windows.h mais ce que je ne comprends pas, c'est que la librairie est incluse dans le projet, et l'include aussi mais ça ne fonctionne toujours pas.

    Je tiens à préciser que je ne suis pas très doué dans le C++ alors ayez pitié de moi si mon erreur est vraiment simple

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Salut,

    Pour ton probleme tu as vraisemblablement des path mal updates ou tu dois aller chercher les .h. Il te faudrait verifier dans Tools => Options => Directories tab les paths relatifs a la plateform microsoft MDK.
    Quelque chose comme
    C:\Program Files\Microsoft Platform SDK\Include
    C:\Program Files\Microsoft Platform SDK\Lib

    Si c'est path n'existe pas c'est peut etre la base de ton probleme. S'ils existent essaies de les mettre en "tete de liste" des path a utiliser en priorite avec VC6++.

    Stef

  3. #3
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut Re: Petit bug de compilation
    Citation Envoyé par Chess0
    J'ai un léger problème que je cherche à résoudre. Voilà, j'ai trouvé du code que je souhaite compiler mais le compilateur (VC++6.0) m'affiche l'erreur suivante: "error C2065: 'DWORD_PTR' : undeclared identifier".
    Donc tu n'inclus pas le fichier qui declare cet identificateur.

    Après un peu de recherche, j'ai trouvé que j'avais besoin de la librairie windows.h mais ce que je ne comprends pas, c'est que la librairie est incluse dans le projet, et l'include aussi mais ça ne fonctionne toujours pas.
    J'ai l'impression que tu confonds bibliotheque (library en anglais) et en-tete.

    Un en-tete (generalement .h, .H, .hpp, .hxx, .hh), est un fichier inclus dans un autre pour y importer des declarations

    Une bibliotheque est un fichier qui contient du code deja compile. Ce fichier est utilise par l'editeur de liens (linker) pour creer l'executable. Dans le cas des bibliotheque partagee (.so, .dll), on en a besoin aussi a l'execution; quand on charge dynamiquement la bibliotheque (cas des "plugins"), on n'en a pas besoin a l'edition de liens.

    Generalement, avec une bibliotheque on a un ou plusieurs en-tetes qui fournissent les declarations necessaires pour l'utilisation du code dans la bibliotheque.

    Note: a partir de maintenant, c'est de la speculation, je ne connais pas les environnements de developpement de Windows. Je crois qu'en mettant la bibliotheque dans le projet, tout ce que tu as fait c'est d'indiquer a l'editeur de liens qu'il doit l'utiliser. Il faut aussi faire l'include de l'en-tete dans le fichier qui a besoin de la declaration (et peut-etre aussi indiquer au compilateur ou le trouver).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    DWORD_PTR (et tout ce qui est sous forme de xxx_PTR) a été introduit après VC++ 6, donc si tu n'as pas mis à jour le PSDK, ton <windows.h> est trop ancien.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Ah je vois, et le PSDK se met à jour sur le site de Microsoft, je suppose ?

    (merci pour vos réponses rapides!)

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Oui:
    http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
    Installation sélective online (le CoreSDK devrait suffire):
    PSDK-x86.exe
    ou full download:
    http://www.microsoft.com/downloads/details.aspx?familyid=EBA0128F-A770-45F1-86F3-7AB010B398A3&displaylang=en

  7. #7
    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
    Attention toutefois, le PSDK actuel n'est pas supposé être compatible avec Visual 6. Le dernier SDK officiellement compatible avec Visual 6 est celui de Février 2003, que Microsoft ne propose plus en téléchargement (mais tu fois pouvoir le trouver ailleurs)

    Edit: Tiens, ils ont changé d'avis... sur un autre site à eux, ils disaient qu'on ne pouvait plus l'avoir qu'en commandant un CD sur untel site...
    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.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Il est dispo ici:
    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
    Note que VC++ 2005 est dispo gratuitement sans les MFC.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Bon, j'ai installé le PSDK avec le dernier lien que vous m'avez fourni. En apparence, ça ne change rien à mon problème.

    Ma question: une fois l'installation complétée, est-ce que je dois faire un include quelque part pour que les updates soient pris en charge ? Je me sens vraiment boulet de poser ces questions, mais j'espère que vous serez compréhensifs

  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
    Tu dois exécuter "register PSDK directories with visual studio" (dans le menu démarrer créé par l'installeur
    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Exact ! Merci beaucoup à tous !

    Il me reste une dernière erreur à corriger et j'espère que vous allez pouvoir m'aider sans avoir besoin du code source parce qu'il est relativement volumineux:
    "LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main"

    J'ai eu d'autres erreurs du même genre avant et je les ai règlées en ajoutant une librairie manquante alors je suppose que c'est le cas encore une fois mais je dois dire que cette erreur me laisse perplexe quant à la librairie à ajouter. J'ai essayé libcd.lib avec peu d'espoir et ça n'a évidemment rien corriger.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    http://c.developpez.com/faq/cpp/?pag...S_console_vcpp

    (c'est l'inverse de ton problème, toi tu dois créer une appli console)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 34
    Points : 12
    Points
    12
    Par défaut
    Non, en fait. Mon erreur était exactement ça: j'avais une appli console et il ne fallait pas

    Merci beaucoup à tous pour votre aide, maintenant ça compile très bien !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/11/2005, 17h32
  2. Petit bug.
    Par CCin dans le forum C
    Réponses: 15
    Dernier message: 12/10/2005, 12h08
  3. Réponses: 5
    Dernier message: 26/09/2005, 11h59
  4. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48

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