2008-08-18 16 views

cevap

9
  1. Visual C++ Express Edition (VCEE) yoksa, VCEE karşıdan yükleyin ve kurun.
  2. Visual C++ Express Edition'ın varsayılan yüklemesi .Net platformu için oluşturulur. OpenGL ve GLUT henüz .Net altında henüz tam olarak desteklenmediğinden, Windows platformu için oluşturmamız gerekecek. Bunun için Microsoft Platform SDK'ya ihtiyacımız var. (VCEE'nin eski bir sürümünü kullanıyorsanız, Microsoft Platform SDK'u indirin ve kurun. Visual C++ Express Edition'ın Windows platformu için yapılandırılması gerekir. Tüm bu yönergeler kullanılabilir here.)
  3. Eğer yoksa GLUT, Nate Robin'in Windows port of GLUT'u indirip unzip.
  4. için glut.h ekle senin Platform SDK// GL/ dizini
  5. Bağlantı glut.lib proje bulunmaktadır. (VCEE Proje Özellikleri gidin -.> Ek Bağlayıcı Dizinler ve glut.lib sahiptir dizin eklemek
  6. , Windows/System32 dizinine glut.dll ekle böylece GLUT kullanan tüm programlar zamanında bulabilirsiniz.
şimdi Visual C++ Express Edition altında derlemek gerekir GLUT veya OpenGL kullanan

Programınız.

+0

Bir ton teşekkürler! 4. adımı tam olarak anlamayanlarımız için, bu benim için aşağıdaki direme çevrildi (örnek olarak): C: \ Program Files \ Microsoft SDKs \ Windows \ 7.0a \ Include \ GL .Step 5'ler 'Lib 'dizin' İçerir 'ile aynı seviyede (bu durumda bildirmeniz ve ek bağlayıcı dizini yapmanız gerekmez). – Gazza

6

Nate Robin'in sitesinde GLUT portu 2001 bir mesafededir Visual Studio'nun daha yeni sürümleriyle (.NET 2003 ve üstü) bazı uyumsuzluklar vardır. Uyumsuzluk kendisini exit()'un yeniden tanımlanmasıyla ilgili hatalar olarak gösterir.

  1. eşleme amacıyla sizin stdlib.h yılında biriyle glut.h yılında exit() prototip değiştirin: Bu hatayı görürseniz, iki olası çözüm vardır. Bu muhtemelen en iyi çözümdür.
  2. Programınıza #include <gl/glut.h> önce daha kolay bir çözüm #define GLUT_DISABLE_ATEXIT_HACK olmalıdır.

(Due kredi: Ben aslen TAMU help desk website bu tavsiye gördüm.) Ben .NET 2003 çıktığından beri yaklaşımı 1. kendim kullanıyorum, ve ++ 2003 VC ile glut.h modifiye aynı kullandık

, ++ 2005 VC ve VC++ 2008

İşte yapar kullandığım glut.h için fark var 1. (ama bu yüzden hala Visual Studio eski sürümleri ile çalıştığını uygun #ifdef blocks cinsinden):

--- 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. */ 
+0

Baxissimo: Bu yaygın hatayı ve düzeltmeyi işaretlediğiniz için teşekkür ederiz. Hemen hemen her OpenGL kullanıcısının bu hatayı karşıladığını gördüm. –

İlgili konular