Il y a longtemps, j’avais essayer d’apprendre à utiliser OpenGL en suivant les cours de NeHe (que l’équipe de developpez.com a commencé à traduire). Le seul souci, c’est que NeHe crée ses context OpenGL en utilisant l’API WIN32. Implique que c’est laid, indigeste et pas portable.
Récemment je suis tombé sur le livre OpenGL Programming Guide (dont une version existe en ligne), qui lui utilise GLUT pour le fenêtrage. Et là c’est sûre que c’est beaucoup mieux, on apprend plus à faire de l’OpenGL que de faire du Win32 dégueulasse. Et surtout c’est portable et facile à apprendre.
Donc après avoir galéré pendant quelque temps pour faire fonctionner le tout avec Visual Studio 2008, je vous explique comment faire, surtout que c’est super facile.
Pour commencer vous devez télécharger la bibliothèque GLUT. L’archive contient plusieurs fichiers. Vous devez copier chaque fichier dans un dossier spécifique :
- « glut.h » ira dans « C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl » ;
- « glut32.lib » ira dans « C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib » ;
- « glut32.dll » ira dans « C:\Windows\System32« .
C’est tout. GLUT est maintenant installé. Vous n’avez pas besoin de Linker quoi que ce soit, le fichier glut.h se charge de tout faire à votre place. La seul chose à laquel il faut faire attention , c’est de créer un projet « Application Console WIN32″, sinon vous aurez lors de la compilation cette erreur :
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: symbole externe non résolu _WinMain@16 référencé dans la fonction ___tmainCRTStartup
Une autre erreur est survenue en essayent de compiler le code minimale suivant :

L’erreur survenue est :
1>c:\program files\microsoft visual studio 9.0\vc\include\stdlib.h(371) : error C2381: ‘exit’ : redéfinition ; __declspec(noreturn) est différent
La solution est toute bête, inclure « stdlib.h » avant « gl/glut.h », et non après.
En gros se sont les difficultés que j’ai pu avoir. Si jamais vous en avez d’autres faites m’en part.







