我正在将我的简单lwjgl3游戏移植到C++,并得到了Error: WGL: The driver does not appear to support OpenGL
。该代码是在java中几乎是相同的,所以我不知道什么是错的,以及如何解决它:GLFW:创建窗口时'WGL:驱动程序似乎不支持OpenGL'错误
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;
}
...
我使用msys2和的MinGW-W64,并在MinGW的-W64外壳程序编译。首先,我认为问题出在我创建的glfw3上,所以我使用了glfw的lwjgl3副本,并得到了相同的错误。我尝试过推荐的提示,上下文版本等,但无济于事。我很确定驱动程序支持OpenGL,并且确保我也检查了更新。
虽然测试的东西,看看有什么工作,没有,我已经证实,所有glfw和SFML的例子不工作(我已经与mingw-w64建成)。在编译过程中没有错误,在cmd中没有例外和/或错误,也没有创建窗口。
我对Windows开发不是很熟悉,所以我不确定这是否是mingw-w64,glfw或wgl的问题。
您是在虚拟机还是通过远程桌面运行? – genpfault
@genpfault既不是,所有东西都是本地运行/编译的 –
您应该安装支持OpenGL的视频驱动程序。通常这可以从OEM网站下载。 – elmindreda