读书人

用mingw的make编译C工程链接不上ope

发布时间: 2012-03-11 18:15:39 作者: rapoo

用mingw的make编译C工程,链接不上opengl函数库怎么办?
我用的是mingw编译器,安装在C:/mingw。我从网上下载了一个源程序工程,它已经提供了makefile,我make它时,产生了很多如下类型的错误,截取一段:

smoldyn.o:smoldyn.c:(.text+0x17ab): undefined reference to `glEnd@0 '
smoldyn.o:smoldyn.c:(.text+0x1937): undefined reference to `glClear@4 '
smoldyn.o:smoldyn.c:(.text+0x1ab5): undefined reference to `glColor4fv@4 '
smoldyn.o:smoldyn.c:(.text+0x1ac6): undefined reference to `glLineWidth@4 '
smoldyn.o:smoldyn.c:(.text+0x1bcb): undefined reference to `glColor4fv@4 '
smoldyn.o:smoldyn.c:(.text+0x1bdc): undefined reference to `glLineWidth@4 '
smoldyn.o:smoldyn.c:(.text+0x1d41): undefined reference to `glClearColor@16 '
smoldyn.o:smoldyn.c:(.text+0x1e08): undefined reference to `glEnable@4 '

由于gl是opengl相关的函数,我想是不是没找到库文件。我已经下载了glut.zip,并把glut.h拷贝到C:/MinGW/include,把glut.lib和glut32.lib拷贝到C:/MinGW/bin,把glut.dll和glut32.dll拷贝到系统system32文件下了。而且makefile中也有了GL = C:/MinGW/include LDFLAGS = C:/MinGW/lib这样的语句,为什么编译还会出现那些undefined reference to 'xxx '的链接错误?

对了,那个源程序在这里下载:http://genomics.lbl.gov/~sandrews/software/Smoldyn.tgz

还要用到tiffio.h头文件,tiff库在这里下载:http://dl.maptools.org/dl/libtiff/ 解压后把它和上面的smoldyn源代码放在一起。

Opengl的glut库在这里下载:http://upload.programfan.com/upfile/200607311626279.zip 把解压的.h .lib .dll文件分别拷贝到mingw的bin、lib和系统system32文件夹下。

我以上的操作有什么问题?

[解决办法]
没有把 lib 包括到工程中来 ?
[解决办法]
全部拷贝到标准目录下吧。
[解决办法]
链接的时候加上opengl的lib文件
[解决办法]
你这样只是增加了路径。
[解决办法]
学习了

读书人网 >C语言

热点推荐