我的opengl库(过剩)有问题。 我安装这个2:
sudo apt-get install freeglut3 freeglut3-dev
sudo apt-get install binutils-gold
当我写道:
g++ -lGL -lglut test1.cpp -o test
我有这个错误:
/usr/bin/ld: error: cannot open /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux- gnu/libGL.so: No such file or directory
/tmp/cc0332Hc.o:test1.cpp:function draw(): error: undefined reference to 'glClearColor'
/tmp/cc0332Hc.o:test1.cpp:function draw(): error: undefined reference to 'glClear'
/tmp/cc0332Hc.o:test1.cpp:function draw(): error: undefined reference to 'glFlush'
collect2: ld returned 1 exit status 0
我使用最新版本的Elementary Os和gcc编译器
答案 0 :(得分:0)
命令行中指定的库链接顺序很重要。在这种情况下,libglut.so依赖于libGL.so,因此命令行应该具有-lglut BEFORE -lGL。像这样:
g++ test1.cpp -lglut -lGL -o test
答案 1 :(得分:0)
GLUT 不""" OpenGL库。恰恰相反。它只是openGL的一些实用程序库。
您似乎没有安装OpenGL实现,这通常是图形驱动程序或操作系统本身的一部分。在Linux上,有来自NVIDIA和AMD的专有驱动程序,以及在Mesa3D项目中开发的开源驱动程序。哪一个最适合您取决于您使用的GPU。