代码:
#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 窗口失败 有人可以修复我的代码吗?或者什么
我期待一个窗口
从这个距离调试是不可能的。
您将不得不检查 GLFW 遇到的错误。
你通过注册错误处理程序回调函数来做到这一点:
https://www.glfw.org/docs/3.0/group__error.html
例如,在该函数中,您可以将错误消息记录到标准输出或文件中。
一般来说,阅读您的字符串“YoutubeOpenGL”,我认为直接使用 GLFW 可能比您想要的要低一些。有足够多的其他框架可以为您处理系统细节,因此您不必自己进行 windows、linux、OS X……特定的修改。其中的“大手笔”当然是 Qt,它同样支持 OpenGL 加速图形,但也更苗条,而且仍然是相当低级的 UI 工具包,如 DearImgui(带有 glfw 后端)会比尝试开始更好地为您服务GLFW.