如何将GLFW与openGL一起使用?

问题描述 投票:0回答:2

我正在尝试编译一个简短的 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);
}

有人知道我需要做什么来编译我的代码吗?

谢谢

c++ linux opengl glfw
2个回答
0
投票

没有

GL/glfw2.h
也从来没有,上面的代码使用了 GLFW 3 API。有关头文件路径的更多信息,请参阅重命名的库和头文件

没有理由在新项目中使用 GLFW 2,所以我会避免使用

libglfw2
包。相反,看看是否有 GLFW 3 软件包。


0
投票

老实说,我从未使用过“#include ”这个论点 而是这样做: “#include <#include >”。好简单。你“可能”对 C++ 很差,并且不知道什么是过时的或最新的。转到此链接了解 GLFW 库的当前版本; https://www.glfw.org/documentation

© www.soinside.com 2019 - 2024. All rights reserved.