CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

J'ai une erreur bizarre en c++...

sebcopin
sebcopin
Niveau 10
18 juin 2004 à 18:06:55

Salut à tous,

Voila j´ai fait un petit programme de test pour me remettre au gout du jour la programmation c++ ( j´avais arrété il y a plusieurs mois) et j´ai comme qui dirai un petit problème.

Voici tout d´abord mon petit programme ( project Win32 application) ceci est un fichier source c++ :

  1. include < iostream>

using namespace std;

int main()
{

char nom;
cout < < " Bonjour comment t´appelles-tu ? ";
cin > > nom;
cout < < " \nMerci ! ";
return 0;
}

Un petit programme de test qui ne sert à rien évidemment.

Mais lors de la compilation il me met cette erreur :

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

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

J´utilise Microsoft Visual C++ 6.0.

J´ai essayer de modifier la configuration du projet pour inclure LIBCD.lib mais rien ne change.

Un petit peu d´aide svp :)

lag-it
lag-it
Niveau 10
18 juin 2004 à 18:14:53

Il faut que tu crée une " Console application", pas une " win32 application"

" LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/reap.exe : fatal error LNK1120: 1 unresolved externals"

Il te renseigne lui même : y a pas de WinMain.

sebcopin
sebcopin
Niveau 10
18 juin 2004 à 18:22:02

Merci beaucoup ça marche :)

gollumkawder
gollumkawder
Niveau 10
18 juin 2004 à 18:25:44

Oui lag-it à raison ( ce brave lag-it à toujours raison :ok: ) Quand tu prend l´option de creer une application win32 c´est que tu va gerer la fenetre avec l´API win32, c´est a dire des classes, des handles de partout des Winproc et des ShowWindows et des tas de LRESULT CALLBACK affreux ! sinon il aurait fallu inclure < windows.h> et foutre un tas de trucs genre WPARAM wParam et LPARAM lParam o_O´
un vrai cauchemar, ´te brulerais tout ça au flamethrower ! !! faut pas toucher au win32 c´est toxik ! !!

--log

lag-it
lag-it
Niveau 10
18 juin 2004 à 19:29:36

Arf :-)))

Pour la gestion de fenêtres, rien de tel que wxWindows ( ou GTK, mais pas trop sous windows )

Mais sinon je viens de remarquer un truc : tu déclare un char nom et tu stocke une chaine de caractères dedans ? Ca doit te poser des problèmes, remplace par un :

  1. define SIZE 256 / / Ou const int SIZE = 256;

char nom[SIZE];

et préfère l´appel à la fonction :

cin.getline( nom, SIZE, / *´\n´*/ ) ;

Pour permettre la récupération de prénom composés.

sebcopin
sebcopin
Niveau 10
18 juin 2004 à 19:37:57

En effet avant que tu me corrige je l´avais fait car ça n´allait pas.

C´était qu´un oublie, ça fait plusieurs mois que j´ai pas touché au c++ il faut que je me remmette en route ^^

En fait j´ai utilisé :

char nom[256];

Ca revient au même mais merci de ta remarque :-)))

lag-it
lag-it
Niveau 10
18 juin 2004 à 20:14:24

Le define n´était placé qu´en vue de supprimer les " nombres magiques".
C´est une bonne habitude que de remplacer ses constantes numériques par ce type de defines, qui évitent d´avoir à reparcourir le code à la moindre modification ( engendrant souvent des erreurs ) .
De plus, #define . .. est un directive de préprocesseur, ce qui signifie, dans l´exemple de mon SIZE, que le préprocesseur ( qui précède le compilateur ) va remplacer SIZE par sa valeur avant de le compiler : aucune variable n´est créé et pas de mémoir consommée.
Concernant const . .., l´effet dépend du compilateur : certains allouent, d´autres non ( selon l´usage qui en est fait ) , . ..

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment