freeglut.dll丢失

4
我正在阅读《OpenGL超级宝典》,在第一个三角形程序上,它无法运行。 虽然程序可以编译通过,但是当我运行它时,它给了我一个错误消息:freeglut.dll缺失。我下载了它并把它放到了正确的目录中,然后它说MSVCR71.dll缺失,所以我下载了它并把它放到了正确的目录中,但是它开始显示:“动态链接库freeglut.dll中找不到__glutCreateWindowWithExit过程入口点”。有人知道我做错了什么吗?我按照书本告诉我的所有指导做了。

2
你不应该那样去下载一个 DLL 文件。对于 freeglut.dll,你需要精确匹配相应的 .lib 文件的版本。而对于 mscvr71.dll,你需要整个运行时环境以匹配正确的版本,并且需要进行正确的安装。 - David Schwartz
@LightnessRacesinOrbit:不,我删掉了它(制作动物标本)。 - datenwolf
将下载附带的dll文件放置在与您的程序相同的目录中。 - marsh
5个回答

6

您不能从互联网上随便下载DLL文件并将它们丢到您的PC上。你需要考虑版本问题,否则很可能会绕过这个问题。如果MSVC运行时依赖项没有链接起来,那就应该是一个暗示了。

请完整地安装freeGLUT软件包。


这些信息最好作为评论而不是答案。 - Kröw

4

我曾经也遇到过同样的问题。按照以下步骤进行:

假设你已经按照书中所给出的所有步骤进行了操作。

  1. 从附属网站下载源代码...我想文件夹名称是SB5,大小为92MB。
  2. 然后构建名为'freeglut.vcproj'的项目。
  3. 它将生成freeglut.dll以及其他文件。将freeglut.dll放入c:\ windows \ syswow64文件夹中,一切就完成了。

2

如果你在运行 MSVC,你可以将 dll 文件放在你的 Debug 文件夹中,这样无论何时你都可以使用它。清理文件夹会删除除了该 dll 以外的所有内容,因此你不必担心需要不停地复制它。此外,如果你想要另一种解决方案,你可以将该 dll 文件放到 Windows/System32 文件夹中,或者在64位架构的情况下,可以将其放在 System/SysWow64 文件夹中。


0

-1

编译器中难道没有你可以链接库的选项吗?例如,如果你使用DevC++,你应该进入“项目”->“项目选项”->“参数”,并设置链接器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接