2017-06-15 25 views
1

此測試代碼導致opengl窗口一出現就會打開並消失。是的,我正在從源頭上編譯這個庫。當它在視覺工作室上打開時,glfw立即關閉2017

我的代碼有什麼問題?

#include<glad\glad.h> 
#include<GLFW\glfw3.h> 
#include<stdio.h> 
#include<stdlib.h> 

int main() 
{ 
if (glfwInit() == false) 
{ 
    fprintf(stderr, "GLFW Failed to initialise"); 
    return -1; 
} 
glfwWindowHint(GLFW_SAMPLES, 4); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5); 
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 

GLFWwindow * window = glfwCreateWindow(640, 480, "Test OPENGL", NULL, NULL); 
if (!window) 
{ 
    fprintf(stderr, "window failed to open"); 
    glfwTerminate(); 
    return -1; 
} 

glfwMakeContextCurrent(window); 
//system("pause"); 
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) 
{ 
    fprintf(stderr, "Failed to initialize GLAD"); 
    return -1; 
} 
return 0; 
} 
+3

你沒有一個事件循環。 –

+3

這就是它應該如何。你創建一個窗口,但在你的程序終止後不久,所以你的窗口再次死亡。你需要某種循環來保持你的程序活着。 –

回答