linux 如何在OpenGL中使用GLFW?

zdwk9cvp  于 12个月前  发布在  Linux
关注(0)|答案(1)|浏览(149)

我试图编译一个简短的openGl和GLFW代码,但我失败了..我已经包括了所有的.h这样:

#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);
}


有人能知道我必须做什么来编译我的代码吗?
谢谢

hfyxw5xn

hfyxw5xn1#

没有GL/glfw2.h,也从来没有,上面的代码使用了GLFW 3 API。有关头路径的更多信息,请参见重命名库和头文件。
没有理由在新项目中使用GLFW 2,所以我会避免使用libglfw2包,而是看看是否有GLFW 3包。

相关问题