Q: Why do I get errors about GL/gl.h when compiling applications on Linux?
I am getting compilation errors for sample programs after installation
of VR Juggler on my Linux box.
[sxaem-1/16:32:13]/usr/local/vrjuggler-1.0.7.linux-rh80/share/samples/tutorials/SimpleApp$ ls
main.cpp Makefile simpleApp.cpp simpleApp.h
[sxaem-1/16:32:14]/usr/local/vrjuggler-1.0.7.linux-rh80/share/samples/tutorials/SimpleApp$ gmake
g++ -DHAVE_CONFIG_H -I/usr/X11R6/include -I/usr/local/vrjuggler/include -I. -Wall -Werror-implicit-function-declaration -g -o main.o -c main.cpp
In file included from /usr/local/vrjuggler/include/Kernel/GL/vjGlApp.h:42,
from simpleApp.h:9,
from main.cpp:6:
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:39:19: GL/gl.h: No such file or directory
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:40:20: GL/glu.h: No such file or directory
In file included from
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:45,
from
/usr/local/vrjuggler/include/Kernel/GL/vjGlApp.h:42,
from simpleApp.h:9,
from main.cpp:6:
/usr/local/vrjuggler/include/Kernel/GL/vjGlWindow.h:40:19: GL/gl.h: No such file or directory
In file included from /usr/local/vrjuggler/include/Input/vjInput/vjInput.h:68,
from /usr/local/vrjuggler/include/Input/vjPosition/vjPosition.h:44,
from /usr/local/vrjuggler/include/Kernel/vjDisplay.h:41,
from /usr/local/vrjuggler/include/Kernel/GL/vjGlWindow.h:42,
from /usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:45,
from /usr/local/vrjuggler/include/Kernel/GL/vjGlApp.h:42,
from simpleApp.h:9,
from main.cpp:6:
/usr/local/vrjuggler/include/SharedMem/vjMemory.h: In member function `void
vjMemory::localDelete(void*)':
/usr/local/vrjuggler/include/SharedMem/vjMemory.h:91: warning: deleting `void*'
is undefined
In file included from /usr/local/vrjuggler/include/Kernel/GL/vjGlApp.h:42,
from simpleApp.h:9,
from main.cpp:6:
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h: At global scope:
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:175: type specifier
omitted for parameter `GLenum'
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:175: syntax error
before `)' token
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:180: syntax error
before `*' token
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h: In constructor
`vjGlDrawManager::vjGlDrawManager()':
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:229: `mQuadObj'
undeclared (first use this function)
/usr/local/vrjuggler/include/Kernel/GL/vjGlDrawManager.h:229: (Each undeclared
identifier is reported only once for each function it appears in.)
In file included from main.cpp:6:
simpleApp.h: At global scope:
simpleApp.h:17: `GLdouble' was not declared in this scope
simpleApp.h:17: syntax error before `,' token
simpleApp.h: In member function `void simpleApp::drawCube()':
simpleApp.h:117: `GL_QUADS' undeclared (first use this function)
gmake: *** [main.o] Error 1
What can be the cause.
-- AnahitMailyan - 11 Mar 2005
A: You do not have the OpenGL developer environment installed.
On Linux, it is necessary to install the OpenGL headers and libraries in order to compile OpenGL-based software. Depending on the distribution and the X11 implementation, this may be installed by default. For example, using Fedora Core with X.Org, the RPM xorg-x11-devel must be installed. With older release of Red Hat Linux that use XFree86, the RPM is XFree86-devel.
In some cases, accelerated graphics drivers such as those from NVidia or ATI may include (and install) the necessary OpenGL developer files.
-- PatrickHartling - 15 Mar 2005
Back to: LiveFaq
|