2016-03-15 29 views
0

我嘗試編譯短OpenGL和GLFW代碼,但我沒有在.. 我已經包括了所有的.h這樣的:如何在openGL中使用GLFW?

#include <stdio.h> 
#include <stdlib.h> 
#include <GL/glew.h> 
#include <GL/glfw2.h> 

我在Linux上,所以我已經提出了:

sudo zypper install libglfw2 

當我編譯如下:

g++ main.cpp -lGLU 

我:

main.cpp:14:22: fatal error: GL/glfw2.h:Any file or directory 
#include <GL/glfw2.h> 
        ^
compilation terminated. 

我也試圖包括#include <GL/glfw3.h>但沒有成功。

這是我的完滿成功代碼:

#include <stdio.h> 
#include <stdlib.h> 
#include <GL/glew.h> 
#include <GL/glfw2.h> 

int main() 
{ 
     if (glfwInit() == false) 
     { 
      fprintf(stderr, "GLFW failed to initialise.\n"); 
      return (-1); 
     } 
     glfwWindowHint(GLFW_FSAA_SAMPLES, 4); 
     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); 
     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); 
     glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 
     GLFWwindow* window; 
     window = glfwCreateWindow(640, 480, "OPENGL", NULL, NULL); 
     if (!window) 
     { 
      fprintf(stderr, "Window failed to create\n"); 
      glfwTerminate(); 
      return (-1); 
     } 
     glfwMakeContextCurrent(window); 
     glewExperimental = true; 
     if (glewInit() != GLEW_OK) 
     { 
      fprintf(stderr, "Failed to initialize GLEW\n"); 
      return (-1); 
     } 
    return (0); 
} 

可能有人知道我必須做的編譯我的代碼?

感謝

+1

是什麼讓你覺得'glfw2.h'是一個有效的文件? –

+0

因爲我已經下載了zypper libglfw2所以我試圖包括它.. –

+2

所以,你沒有注意到GLFW 2.x的所有文檔(顯然不再在線)以及隨附的各種示例它都包含'glfw.h'? –

回答

0

沒有GL/glfw2.h且從未有過,以上代碼使用GLFW 3 API。有關標題路徑的更多信息,請參閱Renamed library and header file

沒有理由將GLFW 2用於新項目,所以我會避免使用libglfw2包。而是看看是否有GLFW 3包。