Aide Code openGl [Résolu]

Signaler
Messages postés
73
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
21 octobre 2010
-
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013
-
slt,

voila, j'ai fait un code en OpenGl, mais mon compilateur me dit qu'il y a d erreurs mais je ne vois pas ou. Pourriez-vous me dire ou ? "mais comment en incére le code pour que vous le voyer!!! dsl c idiot mais je ne sais pas ou.
merci

12 réponses

Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

copier-coller?
<endl>

(enfin si le code n'est pas trop long)
</endl>

<endl></endl>

<endl>Un clavier Azerty en vaut deux

</endl>
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Surtout un copier/coller de la sortie du compilateur. Si tu colle juste le code sans les messages d'erreurs du compilateur on va chercher longtemps.
Messages postés
73
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
21 octobre 2010

 1) OpenGl

voici les erreurs du compilateur

7 C:\Dev-Cpp\main.cpp `Void' does not name a type
28 C:\Dev-Cpp\main.cpp `Void' does not name a type
 C:\Dev-Cpp\main.cpp In function `int main(int, char**)':
43 C:\Dev-Cpp\main.cpp expected `)' before ';' token
43 C:\Dev-Cpp\main.cpp expected `;' before ')' token 44 C:\Dev-Cpp\main.cpp `gLutInitDisplayMode' undeclared (first use this function)
47 C:\Dev-Cpp\main.cpp `glutCreatewindow' undeclared (first use this function)
48 C:\Dev-Cpp\main.cpp `init' undeclared (first use this function) 49 C:\Dev-Cpp\main.cpp `display' undeclared (first use this function)
 C:\Dev-Cpp\Makefile.win [Build Error]  [main.o] Error 1 

ps: vous pouvez copier le code source et le coller ds votre compilateur pour voir.

Et enfin le code source de mon programme :
/*
*BUGS.CPP
*ceci est un programme en OpenGl.
*/
#include<GL/glut.h>


Void display(void)
{
     /*efface tous les pixels*/
     glClear( GL_COLOR_BUFFER_BIT);
    
     /*je dessine les polygonnes qui sont des rectangles avec des arrétes aux points
     *(0.25,0.25,0.0) et (0.25,0.75,0.0)
     */
     glBegin(GL_POLYGON);
     gLColor3f(1.0,1.0,1.0);
     gLVertex3f(0.25,0.25,0.0);
     gLvertex3f(0.75,0.25,0.0);
     gLvertex3f(0.75,0.75,0.0);
     gLVertex3f(0.25,0.75,0.0);
     gLEnd();
    
     /*J'échange les mémoires pour monter le premier
     *ou j'avais écrit
     */
     glutSwapBuffers();
     }
     Void init(void)
     {
          /*je choisis les couleurs virtuelles*/
          gLClearColor(0.0,1.0,0.0,0.0);
         
          /*j"initialise les valeurs de la vue*/
          gLMatrixMode(GL_PROJECTION);
          gLLoadIdentity();
          gLOrtho(0.0,1.0,1.0,-1.0,1.0);
          }
          /*
          *je déclare tous les paramétres windows avec une inclusion
          d'un texte*/
          int main(int argc, char** argv)
          {
              glutInt(&argc;argv);
              gLutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
              glutInitWindowSize(250,250);
              glutInitWindowPosition(100,100);
              glutCreatewindow("Salut, alors quoi de neuf docteur Bugs-Bunny!!!!!");
              init();
              glutDisplayFunc(display);
              glutMainLoop();
              return 0;/*ANSI C est requit pour la fonction  main pour retourner à ligne*/
              }
             
             
             
      2)    Ah, oui un autre pdt que j'y suis, c un programme pour une pendule :

     #include <stdio.h> // printf
#include <conio.h> // clrscr, gotoxy, getch, kbhit
#include <time.h> // time_t, time, ctime


// Prototype
void wait(long sec);


// Fonction MAIN
void main(void)
{


 clrscr() ;      // Efface l'ecran
 time_t t ;


 printf("Voici la date et l'heure :") ;
 
 while(!kbhit())     // Tant qu'aucune touche n'est enfoncée
 {
  time(&t) ;
  gotoxy(5, 3) ;    // ligne 3, colonne 5
  printf("%s", ctime(&t)) ;
  wait(1) ;     // Attente = 1 seconde
 }


 getch() ;      // Vidage du tampon (à cause de kbhit)
}




// Fonction WAIT
void wait(long sec)
{


 long start, courante;
 time(&start) ;
 time(&courante) ;


 while((courante-start)<sec)
 {
  time(&courante) ;
 }


}
  




     

Ps: idem qu'en Haut.

merci bcp les gars car je séche!!!!!!!!!!
@++
Jph

 
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

Tu as essentiellement des problèmes de majuscule ("Void", "gLut", ...). Le C/C++ est sensible à la casse.

<endl>Un clavier Azerty en vaut deux

</endl>
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

7 C:\Dev-Cpp\main.cpp `Void' does not name a type
Ligne 7, remplace "Void" par "void". Pas de majuscule dans le nom du type.

28 C:\Dev-Cpp\main.cpp `Void' does not name a type
Idem, mais ligne 28.

C:\Dev-Cpp\main.cpp In function `int main(int, char**)':
43 C:\Dev-Cpp\main.cpp expected `)' before ';' token
Tu as mit un ; au lieu d'une , dans glutInt(&argc;argv);
Remplace donc par glutInt(&argc, argv);

Je ne vois pas d'erreur après (j'ai pas la doc d'openGL sous les yeux donc je ne pas vérifier si c'est bon.) Cependant, après l'erreur du ; le reste du code génère des erreur même s'il n'y en as pas. Donc recompile comme ca et tu verra bien.
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Ah, je me suis fait graté pour l'histoire des majucules lol
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

eh oui, t'es pas assez geek...

<endl>Un clavier Azerty en vaut deux

</endl>
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Oui, ca doit être ca ! En même temps je trouve que c'est plutot un compliment :D
Messages postés
192
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
30 janvier 2008

C'en était un (arf auto-cassage)

<endl>Un clavier Azerty en vaut deux

</endl>
Messages postés
73
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
21 octobre 2010

Slt,



merci les gars, mais pour l'OpenGl, ça merde tjs, maintenant, il m'emmerde avec les couleurs ( lignes pour les annoncer).


Pouvez vous regarder le code pour les "horloges" aussi ainsi que celui la ?
merci bcp
@++

ps: pour OpenGl, j'ai corriger les erreurs ms (cf au-dessus)

#include
void dvf();//degrée vers Faahreit
void fvd();//Faarheit vers degrée
void mse();//mentions


using namespace std;
int a;
char z


int main()
{
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"------------------Culculette  DoS TEMPERATURE et MENTION---------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"------------------------PROGRAMMEUR:Jean-Philippe étudiant en logistique informatique-----\n";
    cout<<"-----------------------------------------------------------------------------\n";
    cout<<"-----------------------------------------------------------------------------\n";
   
    cout<<"Choisis ce que tu veux faire parmi ces options :\n\n";
    cout<<"\t1: Degrée vers Faarheit\n";
    cout<<"\t2: Faarheit vers Degrée\n";
    cout<<"\t3: Mention\n";
    cout<<"\t4: Q pour quitter le programme\n";
    cout<<" ton choix:   ";
    cin>>z
    cout<<"\n\n";


    Switch(z)
    {
             case'1': Degrée vers Faarheit();
             break;
             case'2': Faarheit vers Degrée();
                      break;
                      case'3': Mention();
                      break;
                      default:exit(0);
                      break;
                      }
                      return 0;
                     
                      void Degrée vers Faarheit()
                      {
                           cout<<"Quelle température veux-tu transformer ?\n";
                           cin>>a;
                           cout<<"Attends je cherche........\n";
                           cout<<"\nLa conversion est"<<(a*1.8)<<"\n\n";
                           system("PAUSE")
                           system("cls")
                           main();
                           }
                          
                           void Faahreit vers Degrée()
                           {
                                cout<<"Quelle température veux-tu transformer ?\n";
                                cin>>a;
                                cout<<"Attends je cherche.......\n";
                                cout<<"\nLa conversion est"<<(a/1.8)<<"\n\n";
                                system("PAUSE");
                                system("cls");
                                main();
                                }
                               
                                void mention()
                                {
                                     cout<<"Quelle moyenne générale as-tu ?\n";
                                     if(a<10)
                                     {
                                             cout<<"Tu as malheureusement échoué \n";
                                             }
                                             if(a>=16)
                                             {
                                                      cout<<"Tu as eu la mention TB \n";
                                                      }
                                                      if(a>=12)
                                                      {
                                                               cout<<"Tu as eu la mention AB\n";
                                                               }
                                                               if((a>=10&&a<12))
                                                               {
                                                                                cout<<"Tu as eu la mention PASSABLE\n";
                                                                                }
                                                                                else cout<<"Tu as eu la mention BIEN\n";
                                                                                sytem("PAUSE");
                                                                                system("cls");
                                                                                main();
                                                                               
                                                                               
                               
                               


 





conpilateur erreur


    Circular main <- main.o dependency dropped.
 C:\Dev-Cpp\Makefile.win [Build Error]  [degree.exe] Error 1
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Hummm ... pas mal, ... j'ai reçut la notif de nouveau message plus d'un an après ....
Bon je me doute que depuis tu as du trouver la solution, mais je vais répondre quand même, histoire de passer le temps au boulot...

L'erreur indique une dépendance circulaire, ton main dépend de ton main ... Ce genre de problème surviens quand deux codes sont interdépendant. Ca peux venir du makefile s'il est mal écrit.

Mais ce que je trouve étrange, c'est que dev-cpp te hurle pas dessus plus que ca au vu de ton code :

tu déclares des prototypes :
void dvf();//degrée vers Faahreit
void fvd();//Faarheit vers degrée
void mse();//mentions

et tu déclare après des fonctions dont le prototype est non seulement totalement différent, mais également totalement interdit :
void Degrée vers Faarheit() { ... }
void Faahreit vers Degrée() { ... }

un nom de fonction doit impérativement :
- commencer par une lettre (ou un underscore '_')
- être composé exclusivement de lettre, chiffres et underscores
- n'avoir aucun accent
- n'avoir aucun espace
- correspondre exactement au prototype déclaré

Enfin, si on regarde tes fonctions jusqu'au bout, on vois que en fin de chacune de tes fonctions tu fait un appel a main. Or c'est main le point d'entré, et donc lui qui va appeller tes fonctions => récursion. Et une récursion qui n'est visiblement pas controlée. C'est sans doute la raison premiere de l'erreur que donne DevCPP.

Pour finir, tu déclares tes fonctions alors que tu es encore dans le code du main, ce qui est interdit.

Voila, si j'applique ta fonction "mention()" à ce code, ca devrais écrire "Tu as malheureusement échoué \n" ^^'

En tout cas, merci de m'avoir un peu occupé en attendant la fin de la journée.


Le travail c'est la santé, ne rien faire c'est la préserver !!!
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Damned, j'avais zapé que j'étais en mode édition HTML et que donc je devais placer mes sauts de lignes avec la balise ....
Évidemment pas moyen d'éditer ....


Le travail c'est la santé, ne rien faire c'est la préserver !!!