Domanda

Che cosa sono le operazioni di base per la compilazione di un'applicazione che utilizza OpenGL GLUT (OpenGL Utility Toolkit) in Visual C++ Express Edition?

È stato utile?

Soluzione

  1. Se non si dispone di Visual C ++ Express Edition (VCEE), scaricare e installare VCEE .
  2. L'installazione predefinita di Visual C ++ Express Edition genera per la piattaforma .Net. Dovremo compilare per la piattaforma Windows poiché OpenGL e GLUT non sono ancora completamente supportati in .Net. Per questo abbiamo bisogno dell'SDK della piattaforma Microsoft. (Se si utilizza una versione precedente di VCEE, scaricare e installare la Microsoft Platform SDK . Visual C ++ Express Edition dovrà essere configurato per compilare per la piattaforma Windows. Tutte queste istruzioni sono disponibili qui .)
  3. Se non disponi di GLUT, scarica e decomprimi la porta Windows di GLUT di Nate Robin / a>.
  4. Aggiungi glut.h alla tua piattaforma SDK / include / GL /
  5. Collega il progetto con glut.lib . (Vai a VCEE Proprietà progetto - & Gt; Directory di linker aggiuntive e aggiungi la directory che ha glut.lib .
  6. Aggiungi glut.dll alla directory Windows / System32 , in modo che tutti i programmi che utilizzano GLUT può trovarlo in fase di esecuzione.

Il tuo programma che utilizza GLUT o OpenGL dovrebbe ora compilare in Visual C ++ Express Edition.

Altri suggerimenti

La porta GLUT sul sito di Nate Robin è del 2001 e presenta alcune incompatibilità con le versioni di Visual Studio più recenti di quelle (.NET 2003 e successive). L'incompatibilità si manifesta come errori relativi alla ridefinizione di exit(). Se vedi questo errore, ci sono due possibili soluzioni:

  1. Sostituisci il glut.h prototipo in stdlib.h con quello nel tuo #define GLUT_DISABLE_ATEXIT_HACK in modo che corrispondano. Questa è probabilmente la soluzione migliore.
  2. Una soluzione più semplice è #include <gl/glut.h> prima di te #ifdef blocks nel tuo programma.

(Debito credito: inizialmente avevo visto questo consiglio sul sito web dell'help desk TAMU . )

Uso me stesso l'approccio n. 1 da quando .NET 2003 è uscito e ho usato la stessa modifica <=> con VC ++ 2003, VC ++ 2005 e VC ++ 2008.

Ecco il diff per il glut.h che uso che fa # 1 (ma in modo appropriato <=> in modo che funzioni ancora con le versioni precedenti di 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. */
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top