私は現在、ゲーム開発コースの最終的なプログラミング プロジェクトに取り組んでおり、プログラムの 3D レンダリング側に C++ と OpenGL を使用することにしました (経験はほとんどありませんが)。
私は今まで深刻なエラーもなく完全に問題なく作業していましたが、数日間放置しました。しかし、私が戻ったとき、私が使用したいくつかの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
これを修正するために、#includes を変更し始めました (おそらく、ばかげたアプローチですが、この時点ではかなり混乱していました)。一部の人が示唆しているように、Windows.h と gl/GL.h を追加すると、他のすべてが修正されることがわかりました。問題の1つ。
#include <Windows.h>
#include <gl/GL.h>
#include <gl/glew.h>
#include <gl/glut.h>
新しい問題は、gl/glew.h の前に gl/GL.h を使用しようとすると、"C1189: glew.h の前に gl.h が含まれている" というエラーがスローされることです。ただし、変更を加えると、以前の型指定エラーが返されます。
glew が GL.h をインクルードしていた場合、これらの型指定子もインクルードされていないのでしょうか。当面はテストせずにメソッドのコーディングを続けますが、すぐにテストできるようにする必要があります。誰でも助けや提案を提供できますか?