GLFW: ошибка «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;
}
...

я использую msys2 а также MinGW-w64, и скомпилировал программу в оболочке mingw-w64. Сначала я подумал, что проблема была в построенном мною glfw3, поэтому я использовал вместо lwjgl3 копию glfw и получил ту же ошибку. Я пробовал рекомендованные подсказки, контекстные версии и т. Д., Но безрезультатно. Я совершенно уверен, что драйвер поддерживает OpenGL, и просто чтобы убедиться, что я также проверил наличие обновлений.

При тестировании, чтобы увидеть, что работает, а что нет, я подтвердил, что все примеры glfw и SFML не работают (оба я построил с MinGW-w64). Никаких ошибок во время компиляции, никаких исключений и / или ошибок в cmd, также не было создано ни одного окна.

Я не очень знаком с разработкой Windows, поэтому я не уверен, что это проблема с mingw-w64, glfw или wgl.

2

Решение

Использование только автономной mingw-w64 решило это. Теперь та же программа работает без ошибок, не говоря уже о том, что примеры glfw и SFML теперь также работают.

Я еще не обнаружил, что может быть причиной ошибки, я полагаю, что это как-то связано с msys2, но пока проблема решена.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]