2

我正在尝试从 sourceforge运行其他人(4 岁)的代码。我下载了 cygwin 并使用 CVS 检查了该项目。

这是失败的编译行:

gcc ../block_display/block_display.c -o block_display -lopengl32 -lglut32 -lm

这是block_display.c中的相关包含语句:

#include <GL/glut.h>

当我尝试运行上面的编译行时,我得到了这个编译错误:

$ gcc ../block_display/block_display.c -o block_display -lopengl32 -lglut32 -lm
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lglut32
collect2: ld returned 1 exit status

我承认我对 cygwin 很陌生/生疏。我尝试了一些方法来达到这一点,但由于我不完全知道将文件放在哪里,所以我陷入了这个错误。这是我尝试过的:

  1. 在 cygwin 设置中下载“过剩”的所有结果:libglut-devel、freeglut、libglut3
  2. 下载glut 3.7.6,将 glut32.dll 复制到 C:\Windows\SysWOW64,并将 glut.h 复制到 C:\cygwin\usr\include。我仍然有 glut.def 和 glut32.lib,但我不知道将它们放在哪里。我尝试按照此安装指南进行操作,但由于我没有运行 VC++,因此我不知道 VC++ 路径的 cygwin 等效项是什么。

知道我能做些什么来让这段代码成功编译吗?我正在运行 Windows 7 64 位。

4

1 回答 1

1

您应该改用freeglut。最初的过剩已经过时了。另一方面,Freeglut 是二进制且源代码与原始 glut 兼容,而且它也是开源的。

由于 glut32.dll 是 Windows DLL,而 cygwin 用于在 Windows 上模拟 unix 环境,因此如果不从源代码重新编译,就无法轻松地将原始 glut 与 cygwin 一起使用。

于 2012-06-11T04:26:34.700 回答