GLFW:创build窗口时出现'WGL:驱动程序不支持OpenGL'错误

我将我简单的lwjgl3游戏移植到C ++,并得到Error: WGL: The driver does not appear to support OpenGL 。 在java中的代码几乎是相同的,所以我想知道什么是错的,以及如何解决它:

 int main(int argc, char** argv) { glfwSetErrorCallback(error_callback); if (!glfwInit()) { std::cerr << "Failed to initialize GLFW" << std::endl; return -1; } glfwDefaultWindowHints(); //glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1); glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE); glfwWindowHint(GLFW_SAMPLES, 4); GLFWwindow* window = glfwCreateWindow(640, 480, "Example", nullptr, nullptr); if (!window) { std::cerr << "Failed to create window" << std::endl; glfwTerminate(); return -1; } ... 

我使用msys2mingw-w64 ,并在mingw-w64 shell中编译程序。 首先,我认为问题出在我build立的glfw3上,所以我使用了glfw的lwjgl3副本,并得到了相同的错误。 我已经尝试了推荐的提示,上下文版本等,但无济于事。 我很确定驱动程序支持OpenGL,只是为了确保我也检查了更新。

当testing东西,看看有什么工作,没有,我已经证实,所有的glfw和SFML的例子不工作(我已经用mingw-w64build成)。 在编译过程中没有错误,在cmd中没有例外和/或错误,也没有创build窗口。

我不是很熟悉windows开发,所以我不确定这是否是mingw-w64,glfw或wgl的问题。

只使用独立的mingw-w64解决了它。 现在相同的程序运行良好,没有任何错误,更不用说glfw和SFML示例现在也运行了。

我还没有发现什么可能导致错误,我想这与msys2有关,但现在问题已经解决。