我有一个在 Visual Studio 2012 中构建的小型基本 C++ 程序,它使用 GLFW 和 OpenGL,但是每当我的朋友尝试在她的 Windows 8 机器上运行它时,它会立即崩溃,没有额外的信息(只是说“程序已停止运行” )
现在程序的命令窗口确实打开了,它在实际未打开的 glfw 窗口之前。所以我在想也许它失败了初始化或窗口打开本身?
一些细节:
- 她拥有的版本是在发布时构建的。
- Win8 机器是 64 位的,程序是在 x64 机器上构建的 32
- 我将 /MT 静态链接到构建中,因此不应该有任何丢失的 msvc dll 问题
- 这需要我重建 GLFW 以静态链接它
- 我没有使用任何其他库,唯一添加到链接器输入的是“glfw3.lib;opengl32.lib;glu32.lib”
最后是我的窗口创建代码的摘录:
glfwWindowHint(GLFW_RESIZABLE, 0);
m_window = glfwCreateWindow(winSize.x, winSize.y, windowName.c_str(), NULL, NULL);
if(!m_window)
throw std::exception("Window failed to create");
glfwGetFramebufferSize(m_window, &m_windowSize.x, &m_windowSize.y);
glfwMakeContextCurrent(m_window);
对我可以尝试的事情有什么想法吗?如果有人想在他们的机器上尝试,我可以上传 exe。