VS2010下用OpenGL“缺少glut32.dll”

Posted

技术标签:

【中文标题】VS2010下用OpenGL“缺少glut32.dll”【英文标题】:"missing glut32.dll" with OpenGL under VS2010 【发布时间】:2013-01-16 12:44:44 【问题描述】:

我在VS2010下用OpenGL做一个程序很久了。直到现在,该程序始终可以独立运行(我的意思是不是从 vs2010 运行,而是在 IDE 外部双击)。 "missing glut32.dll" 显示让我把它放在同一目录下。

有人可能会说我可能会在 system32 中丢失 glut32.dll(或者在我的情况下, syswow64 用于 64 位窗口)。当我把它放在目录中时,它被证明是正确的。问题是:我以前从未删除过它。怎么会这样?

【问题讨论】:

【参考方案1】:

glut32.dll 不是核心系统库。默认情况下它没有安装在那里。也许某些程序的安装程序确实将其自己的副本放入系统目录并在卸载时将其删除。

无论如何,glut32.dll 不是标准库,因此使用您自己的程序发布独立副本并不是一件坏事。

【讨论】:

是的,我也这么认为。但是我的老板总是想制作一个完全独立的 exe 包来发布程序并没有...thx :) @Narusaki:告诉你的老板,如果你的程序需要 GLUT,你必须把它和 GLUT 一起发布。 GLUT 不是您期望出现在最终用户系统上的东西。在基于包的 Linux 发行版中,您可以将 GLUT 包标记为依赖项,但对于 Windows 上的自包含安装程序,并非如此。如果一切都失败了,将它与您的程序静态链接(为此您需要 FreeGLUT 并首先将其构建为静态库)。【参考方案2】:

您必须将 glut.dll 文件放入:

C:/Windows/SysWOW64 这是 32 位 .dll 所在的文件夹。

C:/Windows/System32 包含 64 位 .dll。 如果您想安全一点,也可以将 GLUT.dll 放在 System32 中。

【讨论】:

【参考方案3】:

你可能只是卸载了一些东西。我认为它一开始就不应该存在,因为它不是某种标准库。

无论如何,提供程序所需的所有库总是明智的。您可以在不同版本中使用 GLUT 的多个应用程序,因此最好保持它接近可执行。

【讨论】:

只是因为独立的可执行程序总是会受到某些人的欢迎...... 照 datenfolf 说的做,静态链接。我真的看不出复制一个文件或两个文件之间的区别。【参考方案4】:

将文件glut32.dil复制并粘贴到位置C:\Windows, 它会解决你所有的问题。

如果这不起作用,请按照以下步骤操作:

    转到设置->编译器->链接器设置->添加C:\MinGw\lib\glut32.lib然后按确定。 进入设置->编译器->工具链可执行文件->C:\Program Files (x86)\CodeBlocks\MinGW 然后将文件glut32.dll 复制并粘贴到位置C:\Windows

【讨论】:

请问来自哪里?【参考方案5】:

在 W10 (64b) 中,glut32.dll 没有作为标准安装,并且约定似乎是“去查找源代码并编译它”(假设像我一样,您不喜欢从通用 dll 下载站点获取它)。

最终,在访问 https://opengl.org/resources/libraries/glut/ 之后,我找到了 http://vis.eng.uci.edu/~jkimball/eecs205/glut.html,它在 https://user.xmission.com/~nate/glut.html 处有一个指向 DLL 的链接

奇怪的是,regsvr32 不会注册它,但将其放入 c:\Windows\SysWOW64\ 工作正常。

不要与已经存在的 glu32.dll 混淆。

希望这会有所帮助。请不要在没有解释的情况下投反对票或修改我对布朗尼积分的回复。我想帮你一个忙。

【讨论】:

以上是关于VS2010下用OpenGL“缺少glut32.dll”的主要内容,如果未能解决你的问题,请参考以下文章

VS2012+CAD2010开发环境配置

VS2010安装OpenGL

[转]OpenGL学习入门之VS2010环境配置

OpenGL+VS2010环境配置及遇到的问题

opengl 和 vs2010的安装配置

vs2010中配置OpenGL以及针对64位系统所遇问题的解决办法