Quelles sont les étapes de base pour compiler une application OpenGL à l'aide de GLUT (OpenGL Utility Toolkit) sous Visual C++ Express Edition?Utilisation de GLUT avec Visual C++ Express Edition
Répondre
- Si vous n'avez pas Visual C++ Express Edition (VCEE), téléchargez et installez VCEE.
- L'installation par défaut des versions de Visual C++ Express Edition pour la plate-forme .Net. Nous devrons construire pour la plate-forme Windows puisque OpenGL et GLUT ne sont pas encore entièrement supportés sous .Net. Pour cela, nous avons besoin du Microsoft Platform SDK. (Si vous utilisez une ancienne version de VCEE, téléchargez et installez le Microsoft Platform SDK Visual C++ Express Edition devra être configuré pour être construit pour la plate-forme Windows Toutes ces instructions sont disponibles here.)
- Si vous n'avez pas GLUT, téléchargez et décompressez le Windows port of GLUT de Nate Robin.
- Ajouter glut.h à votre plate-forme SDK/include/GL/ répertoire
- lien avec le projet glut.lib. (Passez à VCEE Propriétés du projet -.> Annuaires supplémentaires Linker et ajoutez le répertoire qui a glut.lib
- Ajouter glut.dll au répertoire Windows/System32, de sorte que tous les programmes utilisant GLUT peut le trouver à l'exécution.
Votre programme qui utilise GLUT ou OpenGL devrait compiler sous Visual C++ express Edition maintenant.
Le port de GLUT sur le site de Nate Robin est de 2001, nd a quelques incompatibilités avec les versions de Visual Studio plus récentes que cela (.NET 2003 et plus). L'incompatibilité se traduit par des erreurs de redéfinition de exit()
. Si vous voyez cette erreur, il y a deux solutions possibles:
- Remplacer le prototype
exit()
englut.h
avec celui de votrestdlib.h
afin qu'ils correspondent. C'est probablement la meilleure solution. - Une solution plus facile est de
#define GLUT_DISABLE_ATEXIT_HACK
avant de vous#include <gl/glut.h>
dans votre programme.
(En raison de crédit: J'ai vu à l'origine de cet avis sur le TAMU help desk website.)
Je me sers moi-même approche # 1 depuis .NET 2003 est sorti, et ont utilisé le même modifié glut.h
avec VC++ 2003 , VC++ 2005 et VC++ 2008.
Voici la diff pour le glut.h j'utilise ce qui fait # 1 (mais approprié #ifdef blocks
pour qu'il fonctionne encore 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. */
Baxissimo: Merci d'avoir signalé cette erreur commune et son correctif. J'ai vu que presque chaque newbie OpenGL fait face à cette erreur. –
- 1. Comment construire IronRuby sur Visual C# 2008 Express Edition?
- 2. Erreur lors de l'installation de Visual Studio 2005 Express Edition
- 3. Utilisation de LINQ avec la version express de Visual Studio
- 4. Utilisation des polices bitmap GLUT
- 5. Définition de la cible de génération x86 32 bits dans Visual C# 2008 Express Edition?
- 6. SQL Server Express Edition question
- 7. Erreur Visual C++ 2008 Express Edition lors de la création d'un nouveau projet
- 8. C# 2008 Express Edition Augmenter la taille de la police
- 9. GLUT d'erreur de redéfinition de sortie
- 10. Déploiement Visual C# 2008 Express
- 11. Visual C# fichier solution express
- 12. Silverlight et VS 2005 ou VS 2008 Express Edition
- 13. Comment puis-je activer les raccourcis clavier Emacs dans Microsoft Visual C# 2008 Express Edition?
- 14. Utilisation de SQL Express 2008 avec VS2008?
- 15. Migration de l'ancien C++ de Borland vers Visual C++ Express
- 16. Développement de Sharepoint avec Visual Studio Express?
- 17. Développement du plugin Outlook avec Visual C# 2008 Express?
- 18. Utilisation de Visual C++ Express pour se connecter à Access 2000
- 19. Distribution de code avec des produits Visual Studio Express
- 20. Visual Studio 2008 Express Edition - les numéros de ligne n'apparaissent pas?
- 21. Installation de MS C# Visual Express échoue mystérieusement
- 22. II veulent faire Déployer du site (j'ai fait dans Visual Web Developer Express Edition) à IIS
- 23. Visual Studio 2008 Database Edition
- 24. Combien de connexions Oracle Express Edition (XE) peut-elle gérer?
- 25. Visual Studio 2008 Express et jQuery
- 26. Quelles sont les différences entre visual studio et VS express edition?
- 27. Migration à partir de Visual C++ 6 à Visual C++ 2008 Express
- 28. Développement de Silverlight dans Visual Studio Express?
- 29. Création de DLL C++ avec Visual Studio
- 30. Comment partager des fichiers de classe entre visual C# express et web dev express?
Merci beaucoup! Pour ceux d'entre nous qui ne comprennent pas bien l'étape 4, cela traduit dans le répertoire suivant pour moi (à titre d'exemple): C: \ Programmes \ Microsoft SDKs \ Windows \ 7.0a \ Include \ GL .Step 5 'Lib 'directory est au même niveau que' Include '(auquel cas vous n'avez pas besoin de déclarer et le répertoire de l'éditeur de liens supplémentaire). – Gazza