OpenGL "Segmentation fault" 错误
OpenGL "Segmentation fault" error
最近一直在玩OpenGL和Ubuntu,好像遇到了错误。
我已尝试关注与问题完全相同的其他线程。
简单地说,我没有工作...
这是我的错误:
Segmentation fault (core dumped)
我使用这个"build.sh"脚本编译程序
g++ -o exec main.cpp -I/usr/include/libdrm -lglfw -I/usr/include/libdrm -lGL -I/usr/include/libdrm -lGLEW -lGLU -lGL
这是我的 "main.cpp"
#include <GL/glew.h>
#include <GLFW/glfw3.h>
int main(){
if(!glfwInit()){
//error
}
glewExperimental = GL_TRUE;
glewInit();
GLFWwindow* window = glfwCreateWindow(640, 480, "Title", NULL, NULL);
if(!window){
//error
}
glfwMakeContextCurrent(window);
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
float vertices[] = {
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
};
unsigned int VBO;
glGenBuffers(1, &VBO);
while(!glfwWindowShouldClose(window)){
glfwPollEvents();
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
编辑:
问题已解决
对于像我这样的人,你需要在 makeContextCurrent()
之后调用 glewInit()
真的很简单我只需要放
glewExperimental = GL_TRUE;
glewInit();
之后glfwMakeContextCurrent()
最近一直在玩OpenGL和Ubuntu,好像遇到了错误。
我已尝试关注与问题完全相同的其他线程。
简单地说,我没有工作...
这是我的错误:
Segmentation fault (core dumped)
我使用这个"build.sh"脚本编译程序
g++ -o exec main.cpp -I/usr/include/libdrm -lglfw -I/usr/include/libdrm -lGL -I/usr/include/libdrm -lGLEW -lGLU -lGL
这是我的 "main.cpp"
#include <GL/glew.h>
#include <GLFW/glfw3.h>
int main(){
if(!glfwInit()){
//error
}
glewExperimental = GL_TRUE;
glewInit();
GLFWwindow* window = glfwCreateWindow(640, 480, "Title", NULL, NULL);
if(!window){
//error
}
glfwMakeContextCurrent(window);
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
float vertices[] = {
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
};
unsigned int VBO;
glGenBuffers(1, &VBO);
while(!glfwWindowShouldClose(window)){
glfwPollEvents();
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
编辑:
问题已解决
对于像我这样的人,你需要在 makeContextCurrent()
glewInit()
真的很简单我只需要放
glewExperimental = GL_TRUE;
glewInit();
之后glfwMakeContextCurrent()