-1

我有一个在 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。

4

1 回答 1

1

告诉您的朋友安装从 GPU 制造商网站下载的图形驱动程序。Windows 本身附带的图形驱动程序缺乏适当的 OpenGL 支持。

于 2013-10-09T19:28:31.887 回答