PDA

View Full Version : GL For Symbian



TJSonic
11th March 2010, 20:48
When im trying to compile any GL application im getting an error:


WARNING: Can't find following headers in System Include Path
<qglobalt.h> <GL\gl.h> <GL\glu.h>
(Sys Inc Paths "\Qt\4.6.1-symbian\include\QtCore\" "\Qt\4.6.1-symbian\include\QtCore\tmp\" "\Qt\4.6.1-symbian\include\QtGui\" "\Qt\4.6.1-symbian\include\QtGui\tmp\" "\Qt\4.6.1-symbian\include\QtOpenGL\" "\Qt\4.6.1-symbian\include\QtOpenGL\tmp\" "\Qt\4.6.1-symbian\include\" "\Qt\4.6.1-symbian\include\tmp\" "\Qt\4.6.1-symbian\mkspecs\common\symbian\" "\Qt\4.6.1-symbian\mkspecs\common\symbian\tmp\" "\Symbian\9.2\S60_3rd_FP1_3\EPOC32\include\" "\source\OGLPyramid\" "\source\OGLPyramid\tmp\" "\Symbian\9.2\S60_3rd_FP1_3\EPOC32\include\stdapis\" "\Symbian\9.2\S60_3rd_FP1_3\EPOC32\include\stdapis\ sys\" "\Symbian\9.2\S60_3rd_FP1_3\EPOC32\include\stdapis\ stlport\" "\Symbian\9.2\S60_3rd_FP1_3\epoc32\include\variant" "C:\Program Files\CSL Arm Toolchain\bin\..\lib\gcc\arm-none-symbianelf\3.4.3\include\")
Dependency list for "\source\OGLPyramid\OGLPyramid.cpp" may be incomplete

As a result im getting:


In file included from /Qt/4.6.1-symbian/include/QtCore/qatomic_symbian.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_arch.h:86,
from /Qt/4.6.1-symbian/include/QtCore/qatomic_arch.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/thread/qbasicatomic.h:227,
from /Qt/4.6.1-symbian/include/QtCore/qbasicatomic.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/thread/qatomic.h:46,
from /Qt/4.6.1-symbian/include/QtCore/qatomic.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/tools/qbytearray.h:45,
from /Qt/4.6.1-symbian/include/QtCore/qbytearray.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/tools/qstring.h:46,
from /Qt/4.6.1-symbian/include/QtCore/qstring.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/kernel/qobject.h:48,
from /Qt/4.6.1-symbian/include/QtCore/qobject.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/animation/qabstractanimation.h:45,
from /Qt/4.6.1-symbian/include/QtCore/qabstractanimation.h:1,
from /Qt/4.6.1-symbian/include/QtCore/QtCore:3,
from /Qt/4.6.1-symbian/include/QtGui/QtGui:3,
from /source/OGLPyramid/oglpyramid.cpp:10:
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:45:22: qglobalt.h: No such file or directory
In file included from /Qt/4.6.1-symbian/include/QtCore/qatomic_symbian.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_arch.h:86,
from /Qt/4.6.1-symbian/include/QtCore/qatomic_arch.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/thread/qbasicatomic.h:227,
from /Qt/4.6.1-symbian/include/QtCore/qbasicatomic.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/thread/qatomic.h:46,
from /Qt/4.6.1-symbian/include/QtCore/qatomic.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/tools/qbytearray.h:45,
from /Qt/4.6.1-symbian/include/QtCore/qbytearray.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/tools/qstring.h:46,
from /Qt/4.6.1-symbian/include/QtCore/qstring.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/kernel/qobject.h:48,
from /Qt/4.6.1-symbian/include/QtCore/qobject.h:1,
from /Qt/4.6.1-symbian/include/QtCore/../../src/corelib/animation/qabstractanimation.h:45,
from /Qt/4.6.1-symbian/include/QtCore/qabstractanimation.h:1,
from /Qt/4.6.1-symbian/include/QtCore/QtCore:3,
from /Qt/4.6.1-symbian/include/QtGui/QtGui:3,
from /source/OGLPyramid/oglpyramid.cpp:10:
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h: In member function `bool QBasicAtomicInt::ref()':
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:117: error: `User' has not been declared
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:117: error: `LockedInc' undeclared (first use this function)
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:117: error: (Each undeclared identifier is reported only once for each function it appears in.)
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h: In member function `bool QBasicAtomicInt::deref()':
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:123: error: `User' has not been declared
/Qt/4.6.1-symbian/include/QtCore/../../src/corelib/arch/qatomic_symbian.h:123: error: `LockedDec' undeclared (first use this function)
In file included from /Qt/4.6.1-symbian/include/QtOpenGL/qgl.h:1,
from /Qt/4.6.1-symbian/include/QtOpenGL/QGLWidget:1,
from /source/OGLPyramid/OGLPyramid.h:13,
from /source/OGLPyramid/oglpyramid.cpp:11:
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:77:20: GL/gl.h: No such file or directory
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:79:23: GL/glu.h: No such file or directory
In file included from /Qt/4.6.1-symbian/include/QtOpenGL/qgl.h:1,
from /Qt/4.6.1-symbian/include/QtOpenGL/QGLWidget:1,
from /source/OGLPyramid/OGLPyramid.h:13,
from /source/OGLPyramid/oglpyramid.cpp:11:
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h: At global scope:
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:315: error: `GLuint' does not name a type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:317: error: `GLuint' does not name a type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:320: error: `GLuint' does not name a type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:322: error: `GLuint' does not name a type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:324: error: `GLuint' does not name a type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:326: error: `GLuint' has not been declared
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:326: error: ISO C++ forbids declaration of `tx_id' with no type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:328: error: `GLuint' has not been declared
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:328: error: `GLenum' has not been declared
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:328: error: ISO C++ forbids declaration of `textureId' with no type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:328: error: ISO C++ forbids declaration of `textureTarget' with no type
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:329: error: `GLuint' has not been declared
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:329: error: `GLenum' has not been declared
/Qt/4.6.1-symbian/include/QtOpenGL/../../src/opengl/qgl.h:329: error: ISO C++ forbids declaration of `textureId' with no type



and:



make[2]: *** [\Symbian\9.2\S60_3rd_FP1_3\EPOC32\BUILD\source\OGL Pyramid\OGLPYRAMID_0XE1FD10D6\GCCE\UDEB\OGLPyramid .o] Error 1
make[1]: *** [TARGETOGLPYRAMID_0XE1FD10D6] Error 2


What can it be?

azharbk
25th March 2010, 06:14
Hi,

I am getting the same errors. Basically, can anyone please show how to use Qt OpenGL API on Symbian. I am trying to run the "Hello GL" example on Symbian. I am able to run it fine on Windows platform but not in Symbian.

Thanks in advance.

Regards,
Azhar

azharbk
25th March 2010, 07:07
Hi,

I came to know that Symbian uses "OpenGL ES" instead of "OpenGL". Then, I tried to run, "Hello OpenGL ES". Still, I got errors. But, i resolved them by including "#include <GLES/egl.h>".
Now, I am getting error, "Specified file '\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\ WINSCW\udeb\QtOpenGL.lib' not found". I tried searching for this file but could not find it neither in Symbian SDK nor in Qt SDK folder.


Regards,
Azhar

PierreChicoine
21st June 2010, 23:43
Two things. Are you running on the simulator? If so, it doesn't support OpenGL, so it'll give you this error. Also you can't use deprecated OpenGL commands like GLBegin and many others. I'm struggling with this myself as all the frustrum, perpective and color and lighting information has to done in shaders now. The new versions of OpenGL will work the same way. For information on OpenGL ES and some code that helps either use the Qt3d engine on Gitorious for code or the Imagination technology SDK. You can download both for free, they have a lot of example code on how to use OpenGL ES. Unfortunately, I haven't found an example that uses a simple frustrum as the Hello OpenGL ES example uses ortho only.