cs_EricLeRouge
Messages postés46Date d'inscriptionmardi 3 février 2004StatutMembreDernière intervention 7 décembre 2005
-
22 sept. 2004 à 17:04
cs_EricLeRouge
Messages postés46Date d'inscriptionmardi 3 février 2004StatutMembreDernière intervention 7 décembre 2005
-
23 sept. 2004 à 16:07
j'ai un gros soucis de compilation de fichiers en c++ avec openGL.
En C tout se passe tres bien, mais en C++, rien ne va plus, expliquez moi pk voici le code du main.c:
283-284 (ya une erreur là aussi 284):
GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb);
GLAPI const GLubyte * APIENTRY gluErrorString (GLenum error);
285-286 (ya une erreur là aussi 286):
GLAPI void APIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
GLAPI const GLubyte * APIENTRY gluGetString (GLenum name);
bon yen a encore beaucoup apres :)
Mais j'ai oublier de signaler la toute premiere dans Gl.h à la ligne 1024:
GLAPI GLenum APIENTRY glGetError( void );//1023
GLAPI const GLubyte* APIENTRY glGetString( GLenum name );//1024
Voilà, ca à l'air bien compliqué.....
Il doit y avoir un truc que le compilateur c++ n'aime pas, mais je ne sais pas quoi, en general qui dit C dit C++, non?
Le dire c'est bien, le faire c'est mieux ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 sept. 2004 à 18:45
Et si tu renommais ton main.c en main.cpp (et adaptais le makefile bien sûr)...;)
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 22 sept. 2004 à 19:57
sous linux j'ai jamais fais, sous win avec devcpp j'ai jamais eu de probleme (mon explorateur est compilé avec g++), a priori ca vient des headers qui ne semble pas convenir
pour le __attribute, il doit remplacer une macros, fais un gcc -P sur ce fichier pour voir exactement ce qu'il y a cette ligne
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 sept. 2004 à 22:13
Euh...l'extension .cc, c'est pas considéré comme du C? T'as bien mis l'extension .cpp à tous tes fichiers sources?
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 sept. 2004 à 22:32
Pas d'importance?? Et comment GCC saurait-il distinguer si ton fichier est en C ou C++? A cause du fait qu'il écrive g++ au lieu de gcc?
Moi je le ferais, rien que par convention, et par prudence...
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 22 sept. 2004 à 22:49
Pff, sans extension on ne voit ça qu'avec les libs standards, et je trouve ça stupide, si tu veux associer les headers avec un prog...
Aussi la différence .h/.hpp on s'en fout un peu, étant donné qu'un header n'est pas directement compilé...
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Le plus simple serai d'avoir un exemple complet d'un mini prog qui inclu une lib (par ex opengl) et qui est compilé avec en tant que fichier cpp. Si ca marche chez vous, il n'y a pas de raison que ca ne marche pas pour moi, non?
Le dire c'est bien, le faire c'est mieux ^^
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 22 sept. 2004 à 22:57
c'est illogique que ca fonctionne avec gcc et pas g++, t'es sur pour les extern "C" & co? et essay de voir les parse erreur, sort le listing du preprocesseur (g++ -E)
cs_EricLeRouge
Messages postés46Date d'inscriptionmardi 3 février 2004StatutMembreDernière intervention 7 décembre 2005 23 sept. 2004 à 08:45
Ben en fait j'ai pas besoin de mettre d'extern "C" car je n'ai auccune fonction C, à part le main mais bon......
J'ai fait un g++ -E sur le le main, et j'ai un truc assez surprenant:
j'ai toute les fonction de glut qui s'affiche selon ce modele :
extern X __attribute__((__stdcall__)) nom_de_la_fonction(parametres)
ou X est soit void soit le type de retour (ex int).
J'avoue que je ne comprend strictement rien à tout ca :)