【问题标题】:OpenGL Application crashes on other ComputerOpenGL 应用程序在其他计算机上崩溃
【发布时间】:2012-12-13 05:56:25
【问题描述】:

我在 Windows 8 64 位的 Visual Studio 2012 中用 C++ 开发了一个 OpenGL 应用程序。它在我的本地机器上运行良好。该应用程序使用静态链接的库 GLEW、SFML 和 GLM。

现在我想在另一台机器上测试应用程序。所以从发布编译中复制了可执行文件(以及带有着色器文件的文件夹)。窗口显示为白色,但一秒钟后由于未知原因崩溃了。然后我在新机器上安装了 Visual Studio 2012 并编译了源代码,但我得到了同样令人失望的结果。

应用程序在新机器上崩溃的原因是什么?我可以尝试什么?

顺便说一下,两台机器都使用 AMD Phenom II 处理器和带有最新稳定驱动程序的 Radeon 显卡。

【问题讨论】:

  • 可能计算机没有 OpenGL 功能。尝试在崩溃的计算机上运行另一个使用 OpenGL 的程序,看看它是否有效。 (例如 Minecraft)
  • ´Visual Studio 应该允许您在崩溃时进行调试 - 反正您已经在另一台机器上构建了它,为什么不在该机器上的调试器下运行它呢?
  • 尝试在第二台机器上使用调试器运行应用程序,以找出它在代码中崩溃的位置。
  • Minecraft 在第二台机器上运行。调试器说它在代码中的第一个 OpenGL 函数处崩溃。
  • glewInit()的返回值是多少?

标签: c++ windows visual-studio opengl


【解决方案1】:

你说你使用 GLEW。你检查 GLEW 初始化是否真的成功了?即使有,你真正需要的所有功能都在那里吗?

如果另一台机器不支持您通过 GLEW 访问的高级函数,这些函数指针将是空指针,使用它们会导致程序崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    相关资源
    最近更新 更多