GLFW:'WGL:The driver does not appear to support OpenGL'错误创建窗口时

ecfsfe2w  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(481)

我正在将我的简单lwjgl 3游戏移植到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;
    }
    ...

我使用msys 2mingw-w 64,并在mingw-w 64 shell中编译程序。首先,我认为问题出在我构建的glfw 3上,所以我使用了glfw的lwjgl 3副本,得到了同样的错误。我已经尝试了推荐的提示,上下文版本等,但无济于事。我很确定驱动程序支持OpenGL,只是为了确保我也检查了更新。
在测试的东西,看看什么工作和不工作,我已经确认,所有的glfw和SFML的例子都不工作(都是我用 * mingw-w 64 * 构建的)。编译过程中没有错误,cmd中没有异常和/或错误,也没有创建窗口。
我对windows开发不是很熟悉,所以我不确定这是mingw-w 64,glfw还是wgl的问题。

bzzcjhmw

bzzcjhmw1#

只使用独立的mingw-w 64解决了这个问题。同样的程序现在可以正常运行,没有任何错误,更不用说glfw和SFML示例现在也可以正常运行了。
我还没有发现什么可能导致错误,我想这与msys 2有关,但现在问题已经解决了。

相关问题