[英]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.