在Ubuntu中安装OpenGL / Glut库

时间:2014-11-08 14:10:01

标签: c++ eclipse opengl

我尝试按照本教程为ubuntu安装OpenGL库 - > http://kiwwito.com/installing-opengl-glut-libraries-in-ubuntu/但是当我尝试运行程序示例程序时,我收到此错误消息。

test2.c:(.text+0x1d): undefined reference to `glClearColor'
test2.c:(.text+0x27): undefined reference to `glClear'
test2.c:(.text+0x2c): undefined reference to `glFlush'
/tmp/ccNGbmFL.o: In function `main':
test2.c:(.text+0x50): undefined reference to `glutInit'
test2.c:(.text+0x5a): undefined reference to `glutInitDisplayMode'
test2.c:(.text+0x69): undefined reference to `glutInitWindowPosition'
test2.c:(.text+0x78): undefined reference to `glutInitWindowSize'
test2.c:(.text+0x82): undefined reference to `glutCreateWindow'
test2.c:(.text+0x8c): undefined reference to `glutDisplayFunc'
test2.c:(.text+0x91): undefined reference to `glutMainLoop'

当我删除这些功能并只留下#include <GL/glut.h>时,程序运行正常。我也尝试了这个http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/#Building_on_Linux安装指南,但它也不起作用。我也尝试安装eclipse并在C ++链接器中添加这些库。 Eclipse控制台输出是:

16:02:45 **** Incremental Build of configuration Debug for project opengl_glut ****
make all 
Building file: ../main.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp

Building target: opengl_glut
Invoking: Cross G++ Linker
g++  -o "opengl_glut"  ./main.o   -lglut -lGL -lm -lXrandr -lXi -lX11 -lXxf86vm -lpthread -lglfw3 -lGLU
/usr/bin/ld: cannot find -lglfw3
makefile:44: recipe for target 'opengl_glut' failed
collect2: error: ld returned 1 exit status
make: *** [opengl_glut] Error 1

如何解决这些错误?

1 个答案:

答案 0 :(得分:0)

通过添加-lglut,您的第一个问题链接到过剩。您必须链接到您使用的库。仅仅包括标题是不够的。

对于您的第二个问题,从库中删除glfw3。不知道为什么会那样。你使用过剩而不是glfw。如果教程也使用glfw,那么另一个选择是安装它,或者找一个没有的教程。