2011-06-03 31 views
8

Başka birinin projesini derlemeye çalışıyorum ve tüm OpenGL ile ilgili 850 hata yaşıyorum. Visual Studio 2008, 64-bit Windows 7 kullanıyorum, ancak proje bir Win32 projesidir.Bir çok OpenGL hatası alıyorum

Gördüğünüz gibi, aşağıdaki hatalar, Windows SDK'daki gl.h'daki Program Files altındaki klasörü içerir, Program Files (x86) değil, bu sorunun bir parçası olduğunu tahmin ediyorum. Ben gl.h sahip ve Program Files (x86) altında olan .NET 2003 dahil dizinini eklemeyi denedim, ancak hala Program Files altında gl.h sürümünü kullanmaya çalışıyor.

Ayrıca, proje wxWidgets 2.4.2 kullanan ve ben gl.h herhangi örneği solüsyonu kendisi dahil edilen bulamıyorum, o yüzden içeri çekerek ne emin değilim

Güncelleme:. Hala yapamaz bunu derleyin. Derlemeye çalıştığım gerçek proje "Interactive Digital Photomontage" aracıdır (bağlantıdaki kaynak kodu). Bunlar dikkatle takip ettiğim bir VS2003 proje dosyasını ve talimatlarını içeriyor. VS2003'te bile çalışmayı denedim ve aynı hataları aldım. Herkesin bunu sistemlerinde denemek için bir anı varsa ve aynı hataları alıp almadıklarını görüp görmediğimi merak ediyorum. Yüklenecek wxWidgets 2.4.2 gerektirir.

Herhangi bir düşünce? Aşağıdaki hatalardan bazılarını örnek olarak ekledim. Teşekkürler.

1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2144: syntax error : 'void' should be preceded by ';' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2146: syntax error : missing ';' before identifier 'glAccum' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';' 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2086: 'int WINGDIAPI' : redefinition 
+0

Başlık dosyaları bakılmaksızın BITNESS aynı olan "gl.h" önce "windows.h" eklemeleri gerektiğini yani don 64 bit derleyici dizininden yüklenen başlık dosyalarının olması konusunda endişeleniyorum. –

cevap

14

Eğer (onlar `needed # if` kullanmak)

#include "windows.h" 
#include "gl.h" 
+1

Bunu denedim ve hiçbir şey değiştirmedi, ancak bu projenin "ana" dosyasının ne olduğundan emin değilim, bu yüzden tam olarak nereye koymalıyım emin değilim. Proje 'fuse.exe' adlı bir exe üretmeli ve böylece fuse.cpp' mantıksal bir yer gibi görünüyordu, ancak bu işe yaramadı ve bu dosya ana fonksiyona sahip görünmüyor. Proje GUI'sini oluşturmak için wxWidgets kullanmaktadır, bu yüzden giriş noktasının bazı wx başlıklarında olduğunu tahmin ediyorum. Düşüncesi olan var mı? Teşekkürler. – SSilk

+0

Ayrıca, benzer sorunları araştırırken, bir çok cevabın, birisinin C kodunu C++ olarak derlemeye çalışması olduğunu fark ettim. OpenGL C veya C++ mı? Ve projemin nasıl derlendiğini nasıl değiştirebilirim. Gl.h'nin dahil edildiği tüm çözümde hiçbir yerde bulamıyorum. Muhtemelen wxWidgets tarafından brouhgt olduğunu düşünüyorum, ama yine nasıl emin değil. – SSilk

+1

Tamam, sonunda çalışıyorum. Tek bir windows.h sorununun çözüleceği tek bir "üst düzey" cpp dosyası bulamadım, bu yüzden proje boyunca gittim ve bana bu hataları veren her dosyaya ekledim ve bunları durdurdum. Şimdi başka bazı hatalar alıyorum ama ilgisiz görünüyorlar. Teşekkürler. – SSilk

İlgili konular