我目前正在爲遊戲開發課程的最終編程項目,並選擇利用C++和OpenGL的3D渲染方(儘管事實我沒有什麼經驗)。突然的問題與過剩和glew包括和類型說明
我一直在使用它,直到現在絕對沒有嚴重的錯誤,然後離開它幾天。但是當我返回時,我開始用我使用過的幾個GLfloat變量得到各種「C4430 - Missing Type Specifier」錯誤。
這是我以前的定義,直到我重新加載它工作得很好今日:
#include <gl/glew.h>
#include <gl/glut.h>
... Other variable and object definitions
const GLfloat DEFAULT_X = -5.0f; //C4430: missing type specifyer on all 3 lines and
const Glfloat DEFAULT_Y = -4.0f; //C2146: syntax error : missing ';' before identifier 'DEFAULT_Y' on this line only
const GLfloat DEFAULT_Z = -20.0f;
GLfloat viewX = DEFAULT_X; //This line is fine
GLfloat viewY = DEFALUT_Y; //Resulting C2065: Undeclared identifyer
GLfloat viewZ = DEFALUT_Z; //on both these lines
在試圖解決這個問題,我開始改變#包括(或許,一個愚蠢的做法,但我是在很困惑這一點),並發現像某些人所建議的那樣添加Windows.h和gl/GL.h可以解決除了其中一個問題之外的所有問題。
#include <Windows.h>
#include <gl/GL.h>
#include <gl/glew.h>
#include <gl/glut.h>
新的問題是,試圖使用GL/GL.h前GL/glew.h引發錯誤 「C1189:glew.h之前包括gl.h」,因爲在猜測,GLEW包括GL .h本身。但是任何修改都會導致以前的類型說明錯誤。
什麼讓我感到困惑的是,如果glew包含GL.h,那麼這些類型說明符是否也包含在內?我將繼續編寫我沒有測試的方法,但需要能夠測試我很快做了什麼。任何人都可以提供幫助或建議?
我很害怕像現在面對自己這麼刻苦,因爲有更多的理由,所以你想。 首先,您所申請的訂單是我將它們轉化爲的原始訂單,我在撰寫問題時不恰當地複製了訂單(已對此進行了修改)。 更糟糕的是,原始錯誤是在某些情況下由於簡單的GLfloat拼寫錯誤而導致的結果,並且在變量使用中也是如此。我無法相信我真的那麼做 - .- 謝謝你的回覆沒有任何問題。 – 2013-03-01 21:32:08