关于OpenGL的编译错误

来源:互联网 发布:excel标识重复数据 编辑:程序博客网 时间:2024/04/29 15:45

         两年多前,在刚接触OpenGL编程时遇到不少问题,曾经就发过一个求助的帖子(http://topic.csdn.net/u/20081101/21/4bbac389-6fb8-4984-9fc5-50fd50402890.html),以求高人帮助解决在DevC++中编译OpenGL程序时出现的大量[Linker error]问题,虽然没有得到满意的答复,好在自己最后还是解决了,方法是在工程属性的“参数”页面,为“连接器”添加如下内容:

         -lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32(各部分以空格分开)

        当时很好地解决了编译问题,此后的时间里由于学习、工作的原因,对OpenGL编程并没有深入学习下去,尽管心中很想。近日,决心抽空从头开始研习OpenGL编程,于是将以前的程序再打开,重新编译工程,竟然出现如下错误,此时已加入链接:-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32
  [Linker error] undefined reference to `_imp____glutInitWithExit@12'
  [Linker error] undefined reference to `_imp____glutCreateWindowWithExit@8'
  [Linker error] undefined reference to `_imp____glutCreateMenuWithExit@8'
  [Linker error] undefined reference to `_imp__glutInitDisplayMode@4'
  [Linker error] undefined reference to `_imp__glutInitWindowSize@8'
  [Linker error] undefined reference to `_imp__glutInitWindowPosition@8'
  [Linker error] undefined reference to `_imp__glutDisplayFunc@4'
  [Linker error] undefined reference to `_imp__glutMainLoop@0'
  ld returned 1 exit status
 D:\Program Files\DevCpp\work\gl\glstudy\Makefile.win [Build Error]  [工程1.exe] Error 1

        在网上搜索相关内容,无非有以下几种情况:

 

在#include<gl/glut.h>之前加上如下定义:

(参考:http://blog.csdn.net/xiangyunl/article/details/6189054

               http://blog.sina.com.cn/s/blog_6562367a0100myhp.html)

         define GLUT_DISABLE_ATEXIT_HACK

 

添加引用libfreeglut.a和libfreeglut_static.a,libopengl32.a,libglu32.a,libglaux.a

(参考:http://apps.hi.baidu.com/share/detail/34385533)

 

(待续...)