|
|
|
|
Bonjour,
Je suis en train de réaliser un programme 3D en OpenGL et SDL sous le logiciel Visual C++, mon système d'exploitation étant Windows Vista. Cependant, j'ai un petit problème :
Lors de la phse de compilation du programme en OpenGL, Visual C++ fait 143 fautes dans lesquelles j'ai cru comprendre qu'il ne reconnaissait pas le code écrit dans le fichier "gl.h". Voici les premières lignes de ces 143 fautes :
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C2144: erreur de syntaxe : 'void' doit être précédé de ';'
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h(1152) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'glAccum'
1>c:\program files\microsoft visual st...
......
Quelqu'un serait'il par hasard d'où vient cette erreur ?
Merci d'avance.
PS: je suis dans une école d'ingénieur en électronique et informatique et je cherche partout la réponse à mon problème depuis environ trois mois. Cela compte donc énormément pour moi de pouvoir résoudre ce problème.
Configuration: Windows Vista Ultimate x86 Firefox 2.0.0.5 Mobility Radeon X1600
Peux-tu nous donner la ligne 1152 du fichier gl.h (et les qq lignes autour) ?
|
Merci pour ta réponse.
/* For compatibility with OpenGL v1.0 */ #define GL_LOGIC_OP GL_INDEX_LOGIC_OP #define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT /*************************************************************/ WINGDIAPI void APIENTRY glAccum (GLenum op, GLfloat value); <-- 1152 WINGDIAPI void APIENTRY glAlphaFunc (GLenum func, GLclampf ref); WINGDIAPI GLboolean APIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences); WINGDIAPI void APIENTRY glArrayElement (GLint i); WINGDIAPI void APIENTRY glBegin (GLenum mode); WINGDIAPI void APIENTRY glBindTexture (GLenum target, GLuint texture); ... Sinon pour les options du compiler j'avoue que c'est peut etre à cet endroit que ça bloque, je ne suis pas sur, parce que je ne sais pas vraiment quelles options il faut mettre, mais au niveau des fichiers à linker c'est bon normalement. |
Alors en fait il ne comprend pas ce qu'est WINGDIAPI. Il faudrait que tu trouve à quel endroit ce #define est fait et que tu vois les variables à débloquer pour le configurer. Souvent ces #define sont encadrés de trucs du genre :
#ifdef TRUC ... #define WINGDIAPI ... #endif auquel cas sous gcc/g++ il faut passer l'option -DTRUC. Au besoin, tu peux utiliser devcpp au lieu de visual qui utilise gcc si tu ne sais pas passer une option de ce genre à visual. http://www.bloodshed.net/devcpp.html Fais une recherche google sur ce nom de variable + opengl, en particulier j'ai vu ce lien : http://www.developpez.net/forums/showthread.php?t=237828 Apparemment il est question d'un <windows.h> mais je t'avoue que je n'ai jamais développé sous windows donc je ne sais pas si ça va t'aider. Par contre la fin me paraît intéressante car QT permet de faire de l'opengl http://trolltech.com/products/qt/indepth/modules Bonne chance |
Il n'y a aucun #define WINGDIAPI dans le fichier gl.h, il doit se trouver dans windows.h mais comme certains l'ont conseillé, je l'ai bien mis en haut de la liste des #define et donc il ne devrait pas y avoir ce pb, ce n'est pas normal.
|
Le truc c'est que peut être que WINAPI = static, on n'en sait rien. Un #deinf ca peut avoir une valeur. A ta place je ferais une recherche à l'intéreieur de tous les .h dont tu disposes à la recherche de cette variable.
|
Ok, je vais essayer de voir dans les fichiers .h i je trouve une réponse pour ce WINGDIAPI mais je ne pense pas que l'erreur vienne de là. ça viendrait plutot de la config du projet pour supporter OpenGL à mon avis, mais je ne vois pas où, je vais chercher des infos pour voir comment ça se fait.
|
Je suis déjà au courant ph8, pas d'inquiétude de ce coté là, j'utilise dans presque tous mes programmes la librairie windows.h, mais merci quand meme ^^
|
Je suis conscient que ma réponse arrive un peu tard mais voyant que tu n'as pas poster de solution, j'espere que la mienne pourra t'aider.
|