我正在將我的簡單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