シンプルな 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;
}
...
私はmsys2とmingw-w64を使用しており、mingw-w64 シェルでプログラムをコンパイルしました。最初に、私が構築した glfw3 に問題があると思ったので、代わりに glfw の lwjgl3 コピーを使用し、同じエラーが発生しました。推奨されるヒント、コンテキスト バージョンなどを試しましたが、役に立ちませんでした。ドライバーが OpenGL をサポートしていることは確かであり、更新も確認したことを確認するためです。
何が機能し、何が機能しないかをテストしているときに、すべての glfw と SFML の例が機能しないことを確認しました (どちらもmingw-w64でビルドしました)。コンパイル中にエラーは発生せず、cmd で例外やエラーも発生せず、ウィンドウも作成されません。
私は Windows 開発に詳しくないので、これが mingw-w64、glfw、または wgl の問題なのかどうかはわかりません。