Aide Code openGl

Résolu
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010 - 30 juil. 2007 à 00:21
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 - 23 sept. 2008 à 17:21
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

THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
30 juil. 2007 à 15:36
copier-coller?
<endl>

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

<endl></endl>

<endl>Un clavier Azerty en vaut deux

</endl>
3
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
30 juil. 2007 à 17:55
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.
3
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010
30 juil. 2007 à 23:36
 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

 
0
THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
30 juil. 2007 à 23:44
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>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
30 juil. 2007 à 23:46
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.
0
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
30 juil. 2007 à 23:48
Ah, je me suis fait graté pour l'histoire des majucules lol
0
THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
30 juil. 2007 à 23:50
eh oui, t'es pas assez geek...

<endl>Un clavier Azerty en vaut deux

</endl>
0
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
30 juil. 2007 à 23:55
Oui, ca doit être ca ! En même temps je trouve que c'est plutot un compliment :D
0
THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
30 juil. 2007 à 23:56
C'en était un (arf auto-cassage)

<endl>Un clavier Azerty en vaut deux

</endl>
0
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010
1 août 2007 à 23:33
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
0
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 sept. 2008 à 17:18
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 !!!
0
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 sept. 2008 à 17:21
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 !!!
0
Rejoignez-nous