Escribí un programa en Ubuntu 11.04 que usa freeglut. Funcionó bien Luego obtuve otra computadora e intenté ejecutar el programa en una nueva instalación de Ubuntu 11.04. No funciona Así que instaléOpengl Linux referencia indefinida a funciones básicas
sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu
1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev mesa-common-dev gcc
y trató de ejecutar el programa, que importa
#include <GL/freeglut.h>
#include <GL/gl.h>
#include <GL/glu.h>
usando el comando
g++ -lGL -lGLU -lglut Driver.cpp -o a
Sin embargo, el enlazador o lo escupe como 200 errores de la forma:
Driver.cpp:(.text+0x3c6b): undefined reference to `glutSolidSphere'
Driver.cpp:(.text+0x3c75): undefined reference to `glEnable'
Driver.cpp:(.text+0x3c9a): undefined reference to `glColor4f'
Driver.cpp:(.text+0x3cb5): undefined reference to `glRotatef'
Driver.cpp:(.text+0x3d02): undefined reference to `glutSolidSphere'
Driver.cpp:(.text+0x3d07): undefined reference to `glutSwapBuffers'
¿Cuál es la causa del problema?
¿Por qué su archivo fuente se llama .cpp si compila con gcc? Si es C++, debe compilar con g ++, si es C, debe llamarse algo.c. – lvella
Typo en la publicación. Estaba usando g ++ –
¿Qué es este Driver.cpp? ¿Lo estás incluyendo desde program.cpp? – lvella