visual tag studio para extensiones ejecutar code autocompletar visual-studio visual-c++ opengl glut

visual-studio - para - visual studio code wrap tag



Uso de GLUT con Visual C++ Express Edition (2)

  1. Si no tiene Visual C ++ Express Edition (VCEE), descargue e instale VCEE .
  2. 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 Microsoft Platform SDK .) Visual C ++ Express Edition deberá configurarse para compilar para la plataforma Windows. Todas estas instrucciones están disponibles aquí .
  3. Si no tiene GLUT, descargue y descomprima el puerto Windows de GLUT de Nate Robin.
  4. Agregue glut.h a su Platform SDK / include / GL / directory
  5. Enlace el proyecto con glut.lib . (Vaya a VCEE Project Properties -> Additional Linker Directories y agregue el directorio que tiene glut.lib .
  6. Agregue glut.dll al directorio de Windows / System32 , para que todos los programas que utilizan GLUT puedan encontrarlo en tiempo de ejecución.

Su programa que usa GLUT u OpenGL debería compilarse bajo Visual C ++ Express Edition ahora.

¿Cuáles son los pasos básicos para compilar una aplicación OpenGL usando GLUT (OpenGL Utility Toolkit) bajo Visual C ++ Express Edition?


El puerto GLUT en el sitio de Nate Robin es de 2001 y tiene algunas incompatibilidades con las 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 ve este error, hay dos soluciones posibles:

  1. Reemplace el prototipo exit() en glut.h con el de su stdlib.h para que coincida. Esta es probablemente la mejor solución.
  2. Una solución más fácil es #define GLUT_DISABLE_ATEXIT_HACK antes de que #define GLUT_DISABLE_ATEXIT_HACK #include <gl/glut.h> en su programa.

(Debido crédito: originalmente vi este consejo en el sitio web de la mesa de ayuda de TAMU ).

He usado el enfoque n. ° 1 desde que salió .NET 2003, y he usado el mismo glut.h modificado con VC ++ 2003, VC ++ 2005 y VC ++ 2008.

Aquí está el diff para el glut.h Yo uso which does # 1 (pero en los #ifdef blocks apropiados para que todavía funcione 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. */