Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Visual c++ débutant



  1. #1
    Naoli

    Visual c++ débutant

    Hello

    Décidemment c'est pas bon de débuter dans plusieurs domaines à la fois !
    Je début donc sous Visual C++ et je voulais faire un simple hello world en suivant un tuto sur google :

    créer un nouveau projet / apllication win 32 / nouveau document / ajouter au projet / entrer le code / F7 puis CTRL + F5 pour éxecuter.

    dans le tuto ça marche, mais moi j'ai

    helloworld.cpp
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/helloworld.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    helloworld.exe - 2 error(s), 0 warning(s)
    J'imagine que ça n'a rien de surprenant pour vous, mais moi je nage

    -----


  2. Publicité
  3. #2
    Naoli

    Re : Visual c++ débutant

    Exemple avec un code plutot complexe mais juste, commençant par

    Compiling...
    tempo3.cpp
    Linking...
    LINK : fatal error LNK1104: cannot open file "glut32.lib"
    Error executing link.exe.

    tempo2.exe - 1 error(s), 0 warning(s)
    Après avoir indiqué dans les settings que j'utilisais glut32.lib sinon 35 erreurs.
    Dernière modification par Naoli ; 04/11/2004 à 18h00.

  4. #3
    yat

    Re : Visual c++ débutant

    J'imagine que ta fonction principale s'appelle main ?
    Ben là, comme c'est une application Win32, elle doit s'appeler WinMain. Je ne sais pas ou tu en es en C, C++ et en programmation win32. Si tu débutes vraiment, tu devrais commencer à faire une application en mode console (à la place de application win32) pour te familiariser avec le langage.

  5. #4
    yat

    Re : Visual c++ débutant

    oups... il y a eu un autre message entre temps... bon, apparemment tu t'attaques réellement au code win32.
    Dans le cas présent, je pense qu'il te manque la librairie glut.lib. Dans les paramètres de ton projet, il faut ajouter glut.lib et s'assurer qu'elle est dans un des répertoires adéquats.

    Mais tu sais déjà faire du C/C++ standard, ou bien tu commences directement par l'épreuve du feu avec les applis graphiques windows ?

  6. #5
    yat

    Re : Visual c++ débutant

    Hum... désolé, à chaque fois que je poste un message, je me rends compte que tu viens d'en poster un qui rend le mien obsolète... ah non, apparemment, tu n'as fait que modifier ton deuxième post.

    Bon, alors là je pense qu'il faut ajouter le chemin de ta librairie dans "additional library path"

  7. A voir en vidéo sur Futura
  8. #6
    Naoli

    Re : Visual c++ débutant

    Je sais programmer en C oui, mais je veux faire de l'OPENGL... :?

  9. Publicité
  10. #7
    yat

    Re : Visual c++ débutant

    Citation Envoyé par Naoli
    Je sais programmer en C oui, mais je veux faire de l'OPENGL... :?
    Oui, je t'avais démasqué.

  11. #8
    Naoli

    Re : Visual c++ débutant

    Citation Envoyé par yat

    Bon, alors là je pense qu'il faut ajouter le chemin de ta librairie dans "additional library path"
    Hum là je ne te suis pas... Ou dois-je aller ?

  12. #9
    yat

    Re : Visual c++ débutant

    Dans les project settings, onglet link, category input, tu as déjà du ajouter glut.lib dans object/library modules, maintenant il faut ajouter son chemin dans additionnal library path
    (je suis sous visual 6, mais ça ne doit pas trop bouger j'espère)

  13. #10
    Naoli

    Re : Visual c++ débutant

    Alors en mettant le chemin vers le répertoire qui contient la lib (se termine par ...\dir\ et pas par ...\dir\glut32.lib) j'ai

    Compiling...
    tempo3.cpp
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/tempo2.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    tempo2.exe - 2 error(s), 0 warning(s)

  14. #11
    Naoli

    Re : Visual c++ débutant

    D'ailleurs ceci ne doit pas servir à grand chose dans la mesure ou quel que soit le chemin que j'indique, j'ai le même message...

  15. #12
    yat

    Re : Visual c++ débutant

    Ben ça a au moins résolu le problème "LINK : fatal error LNK1104: cannot open file "glut32.lib"". Maintenant il la trouve.

    Et si ta fonction principale s'appelle toujours main, il reste la première erreur que tu avais. Pour une application win32, il faut que tu aies une fonction WinMain (et plus une fonction main comme au bon vieux temps). Apparemment il n'y en a pas.

  16. Publicité
  17. #13
    Naoli

    Re : Visual c++ débutant

    Arf, je n'ai pas de fonction main, donc je ne pense pas que le problème vienne de là. Normalement le code est intouchable.

    Je pense que c'est un problème d'accès à la lib. En effet, quel que soit le chemin que je lui indique, j'ai la même erreur, ce qui prouve que le chemin que j'indique ne sert à rien. Soit il faut l'indiquer autrement, soit ce n'est pas le bon, soit il manque un fichier dans le répertoire des lib. :?

    Non ? qu'en penses-tu ?

  18. #14
    yat

    Re : Visual c++ débutant

    Si j'ai bien compris, depuis que tu as ajouté le chemin de la lib dans les additionnal library path, tu n'as plus de lib introuvable (le message d'erreur a changé). Maintenant ce qu'il te dit est très clair : il ne trouve pas la fonction WinMain. Pour moi le problème de la lib est résolu, il faut maintenant que tu comprennes pourquoi il ne voit pas ta fonction WinMain. Normalement c'est assez immédiat, si tu as inclut dans le projet un fichier qui contient une fonction WinMain, tu ne devrais pas avoir de problème.

  19. #15
    Naoli

    Re : Visual c++ débutant

    Arf !

    Erreur corrigée !

    Pas du tout WinMain : j'ai copié le fichier glut32.dll dans windows/system32, remplacé l'ancien qui n'était pas identique, et ça fonctionne !

    Même pas besoin d'indiquer quoi que ce soit dans les settings !

    En tous les cas merci pour la disponibilité !

  20. #16
    yat

    Re : Visual c++ débutant

    C'est vraiment bizzare ce que tu décris... normalement la présence de la dll n'est nécessaire qu'à l'exécution, et c'est certainement pas dedans que ton WinMain était planqué.

    C'est vraiment en lui mettant à dispo une dll qu'il a arrété de te mettre l'erreur error LNK2001: unresolved external symbol _WinMain@16 ???

    Bah, les voix de visual sont impénétrables

  21. #17
    Naoli

    Re : Visual c++ débutant

    Ouaip ! J'ai aussi recopié glut.h dans le dossier /include et glut32.lib dans le dossier /lib.

    Je pensais que ces deux derniers étaient les mêmes, mais si le dll ne change rien alors j'ai du me tromper en vroyant avoir placé les bons !

    Dans les 2 cas j'ai bien fait de copier par dessus

Sur le même thème :

Discussions similaires

  1. Visual Basic
    Par Indoterrestre dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 17/09/2007, 12h45
  2. visual c++ 6.0
    Par clinon dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 03/02/2007, 22h28
  3. Visual Basic
    Par Mandrinus dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 09/01/2007, 10h09
  4. Microsoft visual C++
    Par sigismund dans le forum Logiciel - Software - Open Source
    Réponses: 13
    Dernier message: 15/06/2006, 23h08
  5. Visual Basic
    Par knecmotet dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 09/07/2004, 13h57