¿Cuáles son los pasos básicos para compilar una aplicación OpenGL usando GLUT (OpenGL Utility Toolkit) en Visual C++ Express Edition?Uso de GLUT con Visual C++ Express Edition
Respuesta
- Si no tiene Visual C++ Express Edition (VCEE), descargue e instale VCEE.
- La instalación predeterminada de las compilaciones de Visual C++ Express Edition para la plataforma .Net. Tendremos que crear para la plataforma de Windows ya que OpenGL y GLUT aún no son totalmente compatibles con .Net. Para esto necesitamos el Microsoft Platform SDK. (Si está utilizando una versión anterior de VCEE, descargue e instale el Microsoft Platform SDK. Visual C++ Express Edition deberá configurarse para compilar para la plataforma Windows. Todas estas instrucciones están disponibles here.)
- Si no tiene GLUT, descarga y descomprime Nate Robin's Windows port of GLUT.
- Añadir glut.h a su SDK de la plataforma/include/GL/ directorio
- Enlace del proyecto con glut.lib. (Ir a VCEE Propiedades del proyecto -.> Adicional Enlazador Directorios y añadir el directorio que tiene glut.lib
- Añadir glut.dll a la de Windows/System32 , por lo que todos los programas utilizando GLUT puede encontrar en tiempo de ejecución.
Su programa que utiliza OpenGL GLUT o debe compilar en Visual C++ Express Edition ahora.
El puerto GLUT en el sitio de Nate Robin es a partir de 2001 una nd tiene algunas incompatibilidades con versiones de Visual Studio más recientes que eso (.NET 2003 y posteriores). La incompatibilidad se manifiesta como errores sobre la redefinición de exit()
. Si aparece este error, hay dos soluciones posibles:
- Reemplazar el prototipo en
exit()
glut.h
con el de sustdlib.h
para que coincidan. Esta es probablemente la mejor solución. - Una solución más fácil es
#define GLUT_DISABLE_ATEXIT_HACK
antes que#include <gl/glut.h>
en su programa.
(de crédito Debido: Originalmente vio este consejo sobre la TAMU help desk website.)
He estado usando el enfoque # 1 a mí mismo desde .NET 2003 salió, y han utilizado la misma modificada glut.h
con VC++ 2003 , VC++ 2005 y VC++ 2008.
Aquí está el diff para la glut.h utilizo el que hace # 1 (pero en su caso #ifdef blocks
de modo que aún funciona con versiones anteriores 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: Gracias por señalar este error común y su solución. He visto que casi todos los novatos de OpenGL se enfrentan a este error. –
- 1. ¿Es posible compilar una línea de comandos del proyecto con Visual C# 2010 Express edition?
- 2. Configuración del objetivo de compilación x86 de 32 bits en Visual C# 2008 Express Edition?
- 3. ¿Dónde está el navegador de objetos en el visual studio C# 2010 express edition?
- 4. Uso de SQL Server 2008 R2 con Visual Studio Express
- 5. archivo afxwin.h no se encuentra en VC++ Express Edition
- 6. SQL 2005 Express Edition - Instalar nueva instancia
- 7. Oracle 11g Express Edition para Windows 64bit?
- 8. ¿Es SQL Server Express Edition gratis?
- 9. Limitaciones de Visual Studio 2010 Express
- 10. ¿Visual Studio 2005 Express Edition aún está disponible legalmente en cualquier lugar?
- 11. Specflow con Visual Studio express
- 12. Uso de NUnit con Visual C# Express 2010 y .net 4
- 13. Visual C++ Express - Docenas de vcpkgsrv.exe
- 14. Limitaciones de Visual Studio 2010 Express C#
- 15. compilación de 64 bits en microsoft visual C++ express 2010
- 16. Agregar F # a Visual Studio 2010 C# express - ¿es posible?
- 17. Soluciones multilenguaje Visual Studio 2010 Express
- 18. ¿Visual Studio 2008 Express es compatible con t4?
- 19. ¿Cómo construyo Notepad ++ con Visual C++ 2010 Express?
- 20. C++ MultiThreading con visual studio express 2010 Formularios Aplicación
- 21. Pruebas unitarias en Visual C# 2010 Express?
- 22. ¿Cómo debo perfil visual C++ express?
- 23. Visual C# 2010 Express Output Window
- 24. Cómo excluir web.config al publicar con Visual Web Developer Express?
- 25. ¿Cuál es la diferencia entre SQL Server Compact Edition y SQL Server Express Edition?
- 26. Uso de Fiddler con IIS7 Express
- 27. SQL Server 2008 Express Edition: cómo crear una secuencia
- 28. Oracle Express Edition - No se puede conectar remotamente (más otros)
- 29. Limitaciones de Visual Studio 2012 Express Desktop
- 30. ¿Cuántas conexiones puede manejar Oracle Express Edition (XE)?
¡Muchas gracias! Para aquellos de nosotros que no comprendemos del todo el paso 4, esto se traduce en el siguiente directorio para mí (como ejemplo): C: \ Archivos de programa \ Microsoft SDKs \ Windows \ 7.0a \ Include \ GL .Step 5's 'Lib 'directorio está en el mismo nivel que' Incluir '(en cuyo caso no necesita declarar y un directorio enlazador adicional). – Gazza