创建 GLFW 窗口失败

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

代码:

#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 窗口失败 有人可以修复我的代码吗?或者什么

我期待一个窗口

c++ opengl glfw
1个回答
0
投票

从这个距离调试是不可能的。

您将不得不检查 GLFW 遇到的错误。

你通过注册错误处理程序回调函数来做到这一点:

https://www.glfw.org/docs/3.0/group__error.html

例如,在该函数中,您可以将错误消息记录到标准输出或文件中。

一般来说,阅读您的字符串“YoutubeOpenGL”,我认为直接使用 GLFW 可能比您想要的要低一些。有足够多的其他框架可以为您处理系统细节,因此您不必自己进行 windows、linux、OS X……特定的修改。其中的“大手笔”当然是 Qt,它同样支持 OpenGL 加速图形,但也更苗条,而且仍然是相当低级的 UI 工具包,如 DearImgui(带有 glfw 后端)会比尝试开始更好地为您服务GLFW.

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