Si tu n'utilises pas glew.h alors ça ne sert à rien de lier à glew.lib.
Ensuite je pense que tu mélanges plusieurs choses qui n'ont rien à voir. GLEW est une bibliothèque qui permet d'utiliser des extensions OpenGL de manière automatique, sans avoir à les charger explicitement. Ca donne l'illusion que tu utilises des fonctions 2.x ou 3.x, mais ce n'est pas le cas, ça charge simplement l'extension correspondante dynamiquement. D'où les définitions que tu trouves dans glew.h :
#define glAttachShader GLEW_GET_FUN(__glewAttachShader)
J'ai pas trop étudié la question, mais à mon avis utiliser gl3.h et glew.h en même temps n'est pas compatible (dans gl3.h il est bien indiqué qu'il n'est pas possible d'inclure glext.h, ce que fait glew.h).
A mon avis tu es obligé de coller à la version statique d'OpenGL que ton OS te fournit (1.2 sous Windows par exemple) et d'utiliser les extensions pour tout ce qui est supérieur.
Après, peut-être que le fait de créer un contexte 3.2 core profile suffira à provoquer des erreurs si tu utilises des fonctions obsolètes.
Partager