Question

Quelles sont les étapes de base pour compiler une application OpenGL à l'aide de GLUT (boîte à outils utilitaire OpenGL) sous Visual C++ Express Edition ?

Était-ce utile?

La solution

  1. Si vous ne disposez pas de Visual C++ Express Edition (VCEE), téléchargez et installez VCEE.
  2. L'installation par défaut des builds Visual C++ Express Edition pour la plateforme .Net.Nous devrons construire pour la plate-forme Windows car OpenGL et GLUT ne sont pas encore entièrement pris en charge sous .Net.Pour cela, nous avons besoin du SDK Microsoft Platform.(Si vous utilisez une ancienne version de VCEE, téléchargez et installez le SDK de plateforme Microsoft.Visual C++ Express Edition devra être configuré pour être construit pour la plate-forme Windows.Toutes ces instructions sont disponibles ici.)
  3. Si vous n'avez pas GLUT, téléchargez et décompressez celui de Nate Robin Portage Windows de GLUT.
  4. Ajouter surabondance.h à ton SDK de plateforme/include/GL/ annuaire
  5. Associez le projet à glut.lib.(Allez sur VCEE Propriétés du projet -> Répertoires de liaison supplémentaires et ajoutez le répertoire qui contient glut.lib.
  6. Ajouter glut.dll au Windows/Système32 Répertoire, afin que tous les programmes utilisant GLUT puissent le trouver lors de l'exécution.

Votre programme qui utilise GLUT ou OpenGL devrait maintenant être compilé sous Visual C++ Express Edition.

Autres conseils

Le portage GLUT sur le site de Nate Robin date de 2001 et présente quelques incompatibilités avec des versions de Visual Studio plus récentes que celle-là (.NET 2003 et supérieures).L'incompatibilité se manifeste par des erreurs dans la redéfinition de exit().Si vous voyez cette erreur, il existe deux solutions possibles :

  1. Remplace le exit() prototype dans glut.h avec celui dans ton stdlib.h pour qu'ils correspondent.C'est probablement la meilleure solution.
  2. Une solution plus simple consiste à #define GLUT_DISABLE_ATEXIT_HACK Avant toi #include <gl/glut.h> dans votre programme.

(Crédit dû :J'ai initialement vu ce conseil sur le Site Web du service d'assistance TAMU.)

J'utilise moi-même l'approche n°1 depuis la sortie de .NET 2003 et j'ai utilisé la même version modifiée glut.h avec VC++ 2003, VC++ 2005 et VC++ 2008.

Voici la différence pour le glut.h que j'utilise et qui fait le numéro 1 (mais de manière appropriée #ifdef blocks pour qu'il fonctionne toujours avec les anciennes versions de Visual Studio) :

--- c:\naterobbins\glut.h       2000-12-13 00:22:52.000000000 +0900
+++ c:\updated\glut.h    2006-05-23 11:06:10.000000000 +0900
@@ -143,7 +143,12 @@

 #if defined(_WIN32)
 # ifndef GLUT_BUILDING_LIB
-extern _CRTIMP void __cdecl exit(int);
+/* extern _CRTIMP void __cdecl exit(int);  /* Changed for .NET */
+#  if _MSC_VER >= 1200
+extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
+#  else
+extern _CRTIMP void __cdecl exit(int);
+#  endif
 # endif
 #else
 /* non-Win32 case. */
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top