opengl 无法创建GLFW窗口

k5ifujac  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(276)

产品编号:

#include "include/glad/glad.h"
#include "include/GLFW/glfw3.h"
#include <iostream>

int main()
{
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    GLFWwindow* window = glfwCreateWindow(800, 800, "YoutubeOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    glViewport(0, 0, 800, 800);
    glClearColor(0.07f, 0.13f, 0.17f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glfwSwapBuffers(window);
    while (!glfwWindowShouldClose(window))
    {
        glfwPollEvents();
    }
    glfwDestroyWindow(window);
    glfwTerminate();
    return 0;
}

每当我运行它时,它显示无法创建GLFW窗口,有人可以修复我的代码吗?或者别的什么
我还以为是Windows呢

50few1ms

50few1ms1#

从这个距离进行调试是不可能的。
您必须检查GLFW遇到的错误。
你可以通过注册一个错误处理程序回调函数来做到这一点:
https://www.glfw.org/docs/3.0/group__error.html
在该函数中,您可以将错误消息记录到stdout或文件中。
一般来说,阅读你的字符串“YoutubeOpenGL”,我认为直接使用GLFW可能比你想要的更低级。有足够多的其他框架为你处理系统细节,所以你不必做windows,linux,OS X……具体修改自己。其中的“大枪”当然是Qt,它同样支持OpenGL加速图形,但也更纤薄,而且仍然是非常低级的UI工具包,如DearImgui(带有glfw后端)将比尝试从GLFW开始更好地为您服务。

相关问题