4

シンプルな 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 シェルでプログラムをコンパイルしました。最初に、私が構築した glfw3 に問題があると思ったので、代わりに glfw の lwjgl3 コピーを使用し、同じエラーが発生しました。推奨されるヒント、コンテキスト バージョンなどを試しましたが、役に立ちませんでした。ドライバーが OpenGL をサポートしていることは確かであり、更新も確認したことを確認するためです。

何が機能し、何が機能しないかをテストしているときに、すべての glfw と SFML の例が機能しないことを確認しました (どちらもmingw-w64でビルドしました)。コンパイル中にエラーは発生せず、cmd で例外やエラーも発生せず、ウィンドウも作成されません。

私は Windows 開発に詳しくないので、これが mingw-w64、glfw、または wgl の問題なのかどうかはわかりません。

4

1 に答える 1