[英]GLFW Can't create window no matter what
我在 Windows 7 64 位上運行 glfw 但我正在運行 32 位版本的 glfw 和 32 位版本的 mingw,我還在 vs 2019 中嘗試了 64 位版本。事情是 glfw 成功初始化但是創建 window function 失敗(我可以保證)並在互聯網上搜索,我找不到合適的解決方案。 無論如何,這是我的代碼:
#include "include/glfw3.h"
// Entry point
int main() {
// Initialize glfw
if (!glfwInit()) return -1;
// Window hints
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
// Create widnow
GLFWwindow* wind = glfwCreateWindow(800, 600, "All", NULL, NULL);
glfwMakeContextCurrent(wind);
if (wind == NULL) return -2;
// Main loop
while (!glfwWindowShouldClose) {
glfwPollEvents();
}
// Terminate glfw
glfwDestroyWindow(wind);
glfwTerminate();
return 0;
}
沒有編譯錯誤。 任何幫助表示贊賞。
glfwWindowShouldClose
是一個 function 來檢查 window 是否應該關閉,而不是一個全局布爾值。 所以循環條件!glfwWindowShouldClose
實際上判斷這個東西是否:“ glfwWindowShouldClose
”(實際上是指 function 指針)是nullptr
。 由於glfwWindowShouldClose
是一個具體的 function,所以在我們的例子中答案是否定的,將跳過循環,不會出現錯誤。
要修復它,請轉動這個:
// Main loop
while (!glfwWindowShouldClose) {
glfwPollEvents();
}
進入這個:
// Main loop
while (!glfwWindowShouldClose(wind)) {
glfwPollEvents();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.