romanticide
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 2 novembre 2009
-
24 janv. 2008 à 08:23
romanticide
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 2 novembre 2009
-
24 janv. 2008 à 17:52
Bonjour
Mon binome à ajouter des messages box dans notre programme de jeu puissance 4 (sousvisual c++)
quand je fait debug tout ce passe bien
mais si je change la moindre ligne de code je me retrouve avec cette erreur:
1>Édition des liens en cours...
1>LINK : warning LNK4076: fichier d'état incrémentiel non valide '.\Debug/proj.ilk' ; édition de liens non incrémentielle
1>debut.obj : error LNK2019: symbole externe non résolu __imp__MessageBoxA@16 référencé dans la fonction "void __cdecl rejouer(char *,char *)" (?rejouer@@YAXPAD0@Z)
1>.\Debug/proj.exe : fatal error LNK1120: 1 externes non résolus
j'ai essayé d'intégrer la fonction qui gère la messagebox dans un des vieux programme et ça me fait la même chose
est-ce que quelqu'un peu m'aider à résoudre ce problème ?
merci
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 24 janv. 2008 à 10:56
Et si tu nous montrais le code de la fonction en question avec un peu plus d'explication sur la modification que tu as fait pour que programme te généres ces erreurs...
romanticide
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 2 novembre 2009 24 janv. 2008 à 11:12
là c'est pour la message box
void rejouer(char* nom_box, char* phrase)
{
int clic=MessageBox(NULL, phrase, nom_box, MB_YESNO | MB_ICONQUESTION);
if(clic==IDYES)
{
etat=0;
g.InitJeu();
choix=3;
glutPostRedisplay();
}
else
exit(0);
}
et là c'est la fonction où je l'appelle
void affichage()
{
/* effacement de l'image avec la couleur de fond */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glOrtho(-1.0,8.0,-1.0,8.0, -10.0, 10.0);
menu_clic_droit();
if(etat==0) //choix du type de partie
{
menu1();
}
else if(etat==1) //début partie joueur contre joueur
{
g.AfficherJeu();
g.AfficherChoix();
}
else if(etat==2) //le plateau est plein et personne n'a gagné
{
glColor3f(0.0,0.0,0.0); //noir
bitmap_output(2.0, 6.5, "Aucun gagnant !");
g.AfficherJeu();
}
else if(etat==3) //un joueur a gagné
{
g.AfficherJeu();
if(g.Joueur==1)
{
glColor3f(1.0,0.0,0.0);
bitmap_output(2.0, 6.5, "Le joueur 1 a gagne !");
glutSwapBuffers();
rejouer("Gagné!", "Le joueur 1 a gagné! \nVoulez-vous rejouer?");
}
else
{
glColor3f(1.0,0.8,0.0);
bitmap_output(2.0, 6.5, "Le joueur 2 a gagne !");
glutSwapBuffers();
rejouer("Gagné!", "Le joueur 2 a gagné! \nVoulez-vous rejouer?");
}
// g.AfficherJeu();
}
else if(etat==4) //choix de rejouer ou non
{
glColor3f(0.0,0.0,0.0);
bitmap_output(1.5, 3.5, "Voulez-vous rejouer? (o/n)");
}
else if(etat==5) //début partie joueur contre machine
{
g.AfficherJeu();
g.AfficherChoix();
}
else if(etat==6) //début partie machine contre machine
{
g.AfficherJeu();
Sleep(700);
//on commence la boucle
g.SetPosition(ET.MeilleurBis(g,g.Joueur));
if(g.EstVide(g.GetPosition())==true)
{
g.PlacerJeton(g.GetPosition(),g.Joueur);
//vérifications :
if(g.Gagner(g.Joueur)==false)
if(g.VerifEstPlein()==false)
{
if(g.Joueur==2)
g.Joueur=1;
else g.Joueur=2;
}
else
{
cout<<"Le plateau de jeu est plein et personne n'a gagné! ! !"<<endl;
etat=2;
}
else
{
cout<<"Le joueur "<<g.Joueur<<" a gagné! ! !"<<endl;
etat=3;
}
}//if true
glutPostRedisplay();
}//else etat6
//on force l'affichage
glFlush();
// On echange les buffers
glutSwapBuffers();
}
en couleur tu as les changements mais est-ce que ça serait pas parce que comme un imbécile j'ai laissé un glutSwapBuffers();
à la fin ?!
merci
romanticide
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 2 novembre 2009 24 janv. 2008 à 11:17
j'ai essayé par acquis de conscience mais non c'est pas ça
si je bouge la moindre chose ou même si j'ajoute un cout<<"hello"<<endl;
au début de la fonction ça plante!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 24 janv. 2008 à 14:21
Salut,
Je pense que lorsque tu compiles ton programme sans avoir fait la moindre modif, il ne le compile pas mais il se charge uniquement de l'executer.
Ben oui, pas de modif donc pas besoin de le recompiler...
Il faut que tu inclues une lib a ton projet: Demande a ton binome qu'elle lib il a ajouté
romanticide
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 2 novembre 2009 24 janv. 2008 à 16:39
ben maintenant j'ai une nouvelle erreur !
pourtant il est au bon endroit mon glut.h
1>d:\mes documents\mes fichiers reçus\debut.cpp(10) : fatal error C1083: Impossible d'ouvrir le fichier include : 'glut.h' : No such file or directory