我正在尝试使用OpenGL来创建游戏引擎。但是我的着色器出了问题。我正在尝试使用诸如glCreateProgram()和glUseProgram()之类的函数,eclipse向我展示了代码行上的“你要关于破坏一切”甲虫,说“函数(gl函数)无法解决”我我不确定这是否是Eclipse的误报,因为我已经链接了GLEW并且我没有收到编译器错误。
Shader.cpp
#include "shader.h"
Shader::Shader() {
program = glCreateProgram();
}
Shader::~Shader() {
}
shader.h
#define SHADER_H_
#include <GL/glew.h>
class Shader {
public:
Shader();
virtual ~Shader();
private:
GLuint program;
};
#endif /* SHADER_H_ */
我的构建报告
16:50:29 **** Incremental Build of configuration Debug for project SDL_OpenGL_Project ****
make all
Building file: ../src/Shader.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Shader.d" -MT"src/Shader.d" -o "src/Shader.o" "../src/Shader.cpp"
Finished building: ../src/Shader.cpp
Building target: SDL_OpenGL_Project
Invoking: GCC C++ Linker
g++ -o "SDL_OpenGL_Project" ./src/Display.o ./src/InputHandler.o ./src/Shader.o
./src/main.o -lSDL2 -lGLEW -lGL
Finished building target: SDL_OpenGL_Project
16:50:30 Build Finished (took 928ms)
我已经拿出了与问题无关的一些未完成的代码。我在一个单独的类中调用main方法中的这个类的实例。我有点新,所以我不确定这个问题,因为我把glew和gl联系起来了。