Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 29/01/2006, à 21:04

Cube

Problème librairie g++

Bonjour,
J'ai des erreurs de compilation lorsque je compile des programmes OpenGL. J'ai installé freeglut3-dev, et j'ai donc bien les librairies dont j'ai besoin dans /usr/include, mais quand je compile g++ m'affcihe des erreur avec l'instruction #include.

Entête de mon programme :

#include <GL/glut.h>

Erreurs de compilations :

prog.cpp:1:9: erreur: #include attend "NOM_DE_FICHIER" ou <NOM_DE_FICHIER>
...
et pleins d'autres erreurs de fonctions non déclaré qui découle je pense de cette erreur.

Hors ligne

#2 Le 30/01/2006, à 12:25

thx1138

Re : Problème librairie g++

Est-ce le seul fichier d'en-tête que tu utilises ?
Si tu pouvais poster plus de code (peut-être pas tout mais au moins tous les en-têtes), ce serait plus facile.

Ceci dit, moi j'opterais à première vue pour un

/* Mauvais en C++ standard !!! */
#include <iostream.h>
/* Si l'en-tête est un fichier C++ standard, il faut enlever le .h */
#include <iostream>
/* Si l'en-tête est un fichier C standard, il faut le préfixe "c" ou spécifier le suffixe .h */
#include <cstdlib>
/* Si l'en-tête n'est pas dans la lib standard, on l'inclut avec des guillemets */
#include "myfile.h"

Mais bon, sans plus de code, je ne peux qu'essayer de deviner que c'est ça.


They did not know it was impossible, so they did it - Mark Twain

Hors ligne

#3 Le 30/01/2006, à 22:20

Cube

Re : Problème librairie g++

Voici le programme entier :

#include <GL/glut.h>

int main(int argc,char **argv)
{
   glutInit(&argc,argv);
   glutInitDisplayMode(GLUT_RGB);
   glutInitWindowPosition(200,150);
   glutInitWindowSize(300,250);
   glutCreateWindow("Premier Programme");
   glutMainLoop();
   return 0;
}

Et voici les erreurs :

cube@goomba:~/OpenGL$ g++ fenetre.cpp -o fenetre -lglut
fenetre.cpp:1:9: erreur: #include attend "NOM_DE_FICHIER" ou <NOM_DE_FICHIER>
fenetre.cpp:3: erreur: stray ‘\194’ in program
fenetre.cpp:3: erreur: stray ‘\160’ in program
fenetre.cpp:3: erreur: stray ‘\194’ in program
fenetre.cpp:3: erreur: stray ‘\160’ in program
fenetre.cpp:3: erreur: stray ‘\194’ in program
fenetre.cpp:3: erreur: stray ‘\160’ in program
fenetre.cpp:5: erreur: stray ‘\194’ in program
fenetre.cpp:5: erreur: stray ‘\160’ in program
fenetre.cpp:5: erreur: stray ‘\194’ in program
fenetre.cpp:5: erreur: stray ‘\160’ in program
fenetre.cpp:6: erreur: stray ‘\194’ in program
fenetre.cpp:6: erreur: stray ‘\160’ in program
fenetre.cpp:6: erreur: stray ‘\194’ in program
fenetre.cpp:6: erreur: stray ‘\160’ in program
fenetre.cpp:7: erreur: stray ‘\194’ in program
fenetre.cpp:7: erreur: stray ‘\160’ in program
fenetre.cpp:7: erreur: stray ‘\194’ in program
fenetre.cpp:7: erreur: stray ‘\160’ in program
fenetre.cpp:8: erreur: stray ‘\194’ in program
fenetre.cpp:8: erreur: stray ‘\160’ in program
fenetre.cpp:8: erreur: stray ‘\194’ in program
fenetre.cpp:8: erreur: stray ‘\160’ in program
fenetre.cpp:9: erreur: stray ‘\194’ in program
fenetre.cpp:9: erreur: stray ‘\160’ in program
fenetre.cpp:9: erreur: stray ‘\194’ in program
fenetre.cpp:9: erreur: stray ‘\160’ in program
fenetre.cpp:10: erreur: stray ‘\194’ in program
fenetre.cpp:10: erreur: stray ‘\160’ in program
fenetre.cpp:10: erreur: stray ‘\194’ in program
fenetre.cpp:10: erreur: stray ‘\160’ in program
fenetre.cpp:11: erreur: stray ‘\194’ in program
fenetre.cpp:11: erreur: stray ‘\160’ in program
fenetre.cpp:11: erreur: stray ‘\194’ in program
fenetre.cpp:11: erreur: stray ‘\160’ in program
fenetre.cpp:11: erreur: stray ‘\194’ in program
fenetre.cpp:11: erreur: stray ‘\160’ in program
fenetre.cpp: In function ‘int main(int, char**)’:
fenetre.cpp:5: erreur: ‘glutInit’ was not declared in this scope
fenetre.cpp:6: erreur: ‘GLUT_RGB’ was not declared in this scope
fenetre.cpp:6: erreur: ‘glutInitDisplayMode’ was not declared in this scope
fenetre.cpp:7: erreur: ‘glutInitWindowPosition’ was not declared in this scope
fenetre.cpp:8: erreur: ‘glutInitWindowSize’ was not declared in this scope
fenetre.cpp:9: erreur: ‘glutCreateWindow’ was not declared in this scope
fenetre.cpp:10: erreur: ‘glutMainLoop’ was not declared in this scope

(J'ai les même erreurs lorsque je compile sans le "-lglut")
Ce que je ne comprend pas c'est que j'ai pourtant bien toutes les librairies nécessaires :

cube@goomba:/usr/include/GL$ ls
freeglut_ext.h  freeglut_std.h  gl.h         glu.h         glut.h    glx.h     glx_mangle.h  glxproto.h   osmesa.h
freeglut.h      glext.h         gl_mangle.h  glu_mangle.h  glxext.h  glxint.h  glxmd.h       glxtokens.h

PS : je doute que le programme soit l'origine du problème, car c'est un programme que l'on nous a donné en TP (je suis étudiant en DUT info) et il marche chez mes camarades.

Hors ligne

#4 Le 30/01/2006, à 22:59

m+rh-e

Re : Problème librairie g++

‘\194’ et ‘\160’ sont des caractères invisibles mais présent dans ton code source, tu les supprimes et c'est bon, au fait cette séquence correspond à ce caractère

[caractère non affichable]

U+00A0 NO-BREAK SPACE

Propriétés générales du caractère

Catégorie Unicode : séparateur, espace

Diverses représentations utiles
UTF-8 : 0xC2 0xA0
UTF-8 octale échappée : \302\240
Référence de l'entité décimale : 

Annotations et références croisées

Noms alternatifs :
• NBSP
Voir aussi :
• U+0020 SPACE
• U+2007 FIGURE SPACE
• U+202F NARROW NO-BREAK SPACE
• U+2060 WORD JOINER
• U+FEFF ZERO WIDTH NO-BREAK SPACE

Équivalents approximatifs :
• <noBreak> U+0020 SPACE

Dernière modification par m+rh-e (Le 30/01/2006, à 23:20)

Hors ligne

#5 Le 31/01/2006, à 13:24

thx1138

Re : Problème librairie g++

Ah oui, avec ces messages d'erreurs, c'est plus clair !
Ben je dirais la même chose que m+rh-e, à présent smile

En tout cas, j'ai testé le programme chez moi et il compile et fonctionne...


They did not know it was impossible, so they did it - Mark Twain

Hors ligne

Haut de page ↑