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".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 29/01/2006, à 22: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, à 13: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, à 23: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, à 23: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 31/01/2006, à 00:20)

Hors ligne

#5 Le 31/01/2006, à 14: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 ↑