[英]glfwInit() freezes program
程序卡在glfwInit()
函數上。 但是,沒有錯誤消息並且glfwInit()
不會停止。 這就像主線程正在休眠或陷入無限循環。 這個問題似乎不是特定於項目的,因為我嘗試運行一個程序,該程序在發生相同問題的日子里沒有改變(該程序也運行良好)。 我正在使用 Visual Studio 2019。
這是我的主函數的代碼,它應該啟動 GLFW:
int main() {
int width, height;
//Everything until this function will not execute and the program won't stop from its self.
if (!glfwInit()) {
std::cout << "ERROR::GLFW::Could not be initialized!" << std::endl;
}
setUpWindow();
GLFWwindow* window = createWindow(800, 800, "OpenGL Advanced");
if (window == nullptr) {
glfwTerminate();
return 2;
}
glfwMakeContextCurrent(window);
setUpListener(window);
bool gladIsLoaded = loadGlad();
if (!gladIsLoaded) {
glfwTerminate();
return 3;
}
setUpOpenGL();
startRenderLoop(&width, &height, window);
glfwTerminate();
return 1;
}
這是調用堆棧:
ntdll.dll!NtDeviceIoControlFile() Unknown
KernelBase.dll!DeviceIoControl() Unknown
kernel32.dll!DeviceIoControlImplementation() Unknown
hid.dll!00007ff86b631c2b() Unknown
hid.dll!00007ff86b631a1b() Unknown
dinput8.dll!00007ff83367492b() Unknown
dinput8.dll!00007ff833674648() Unknown
dinput8.dll!00007ff833674401() Unknown
dinput8.dll!00007ff833671f87() Unknown
dinput8.dll!00007ff83367424d() Unknown
dinput8.dll!00007ff833671037() Unknown
dinput8.dll!00007ff833678f1f() Unknown
dinput8.dll!00007ff8336790c6() Unknown
OpenglAdvanced.exe!_glfwInitJoysticksWin32() C
OpenglAdvanced.exe!_glfwPlatformInit() C
OpenglAdvanced.exe!glfwInit() C
OpenglAdvanced.exe!main() Line 48 C++
OpenglAdvanced.exe!invoke_main() Line 79 C++
OpenglAdvanced.exe!__scrt_common_main_seh() Line 288 C++
OpenglAdvanced.exe!__scrt_common_main() Line 331 C++
OpenglAdvanced.exe!mainCRTStartup() Line 17 C++
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
我遇到了同樣的問題,更新到最新版本(從 3.3.2 到 3.3.6)解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.