产品编号:
#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呢
1条答案
按热度按时间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开始更好地为您服务。