如何在cygwin中链接glut32?

时间:2012-06-11 04:21:02

标签: c cygwin glut

我正在尝试从sourceforge运行someone else's (4 year old) code。我下载了cygwin并用CVS检查了该项目。

以下是失败的compile行:

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坐着,但我不知道确切的位置。我试过跟this install guide,但由于我没有运行VC ++,我不知道VC ++路径的cygwin等价物是什么。
  3. 知道我能做些什么来让这段代码成功编译?我正在运行Windows 7 64位。

1 个答案:

答案 0 :(得分:1)

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

由于glut32.dll是一个windows DLL,而cygwin用于在windows上模拟unix环境,所以如果不从源代码重新编译,就不能轻易地使用cygwin的原始过剩。