【问题标题】:Make OpenGL application run in Windows without OpenGL set up使 OpenGL 应用程序在没有设置 OpenGL 的情况下在 Windows 中运行
【发布时间】:2015-11-07 04:48:44
【问题描述】:

瞄准

  • 在未设置 OpenGL 的计算机上运行我的 OpenGL 应用程序。

流程

  • 我使用 Visual Studio 2013 启动一个新的 Win32 控制台应用程序
  • 使用 C++
  • GLUT 和 OpenGL 库已链接到我的项目
  • 显示模式:GLUT_RGB | GLUT_DOUBLE
  • 可以毫无错误地构建,并且可以在我的计算机上按预期运行
  • 仅将 Project\Release\Project.exe 和 glut32.dll 复制到未设置 OpenGL 且未安装 Visual Studio 的其他计算机。
  • 在某些计算机上,我的应用程序运行良好。
  • 在其他应用程序中,我的应用程序运行时在 OpenGL 窗口中显示黑屏,该窗口应显示图形。
  • 命令行界面和 OpenGL 窗口都处于活动状态。通过引入函数 glutKeyboardFunc() 在我的应用程序中有键盘事件。当我按下特定键时,命令行界面中会显示更新,因此我知道命令行界面和 OpenGL 窗口处于活动状态。后者只显示黑色。

寻找

  • 为什么我的应用程序在不同计算机上显示不同的答案

  • 解决方案

请容忍我的英语和愚蠢......

【问题讨论】:

  • 我们需要更多信息。它不能在什么样的计算机上运行?它适用于哪些方面?寻找这些群体之间的共同点。可能是它无法运行的计算机需要更新视频驱动程序以支持您尝试使用的 OpenGL 版本。
  • 您是否正在测试您调用的所有函数的 GL 返回结果?您使用的是哪个版本的 OpenGL? 2.0? 3.3? 4.5?

标签: c++ opengl visual-studio-2013


【解决方案1】:

已解决...谢谢大家

我在我的应用程序中使用了 gluPersptive() 和 gluLookAt()。

在某些计算机上,它们没有 glu.dll,因此我的应用程序中的 glu 函数在它们上不可用,导致没有任何显示。

我只需将 glu.dll 和 glu.lib 与我的 .exe 一起发送,它就可以工作...

【讨论】:

  • glu 实际上是 Windows API 的 part(如 OpenGL 1.1)。因此,glu32.dll 确实随 Windows 95 以来的每个(桌面)Windows 版本一起提供。既然你说的是glu.dll 而不是glu32.dll,你可能没有链接到正确的库。但是,如果找不到所需的库,应用程序应该无法启动。完全不清楚您的情况到底发生了什么,但是这个答案中给出的解释对我来说听起来很可疑。顺便说一句,将.lib 文件与可执行文件一起部署也是完全没用的。
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
相关资源
最近更新 更多