Rotate Screen with OpenGL: Failed compilation for iPhone/iPad.

Previous topic - Next topic

Hark0

Hi!

Try for test the rotation screen routine posted on the Forum...
http://www.glbasic.com/forum/index.php?topic=5298.30

I obtained an error... on win32 works perfectly.... I think it's a problem with OpenGL and iXXX device...

I use the GL.bas from the /Samples folder of GLBasic.

Any idea? I forgot declares some for iXXX ?

Code (glbasic) Select

_______________________________________
*** Configuration: IPHONE ***
precompiling:
GPC - GLBasic Precompiler V.8.110 SN:5e0cd1c3 - 3D, NET
Wordcount: 231 commands
compiling:
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glGetClipPlane(DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:733: error: no matching function for call to 'DIMDATA(__GLBASIC__::DGIntArray&, int, __GLBASIC__::GLdouble [4])'
/cygdrive/Q/Compiler/platform/Include/glb.h:803: note: candidates are: void __GLBASIC__::DIMDATA(__GLBASIC__::DGIntArray&, int, DGInt*)
/cygdrive/Q/Compiler/platform/Include/glb.h:805: note:  void __GLBASIC__::DIMDATA(__GLBASIC__::DGNatArray&, int, DGNat*)
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glLoadMatrixd(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:1741: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glLoadMatrixd(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glMultMatrixd(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:1796: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glMultMatrixd(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2691: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2771: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glVertex4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:2851: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glVertex2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glNormal3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3091: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glNormal3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glIndexdv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3347: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glIndexdv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glColor3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:3955: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glColor3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord1dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4723: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord1dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4803: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4883: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexCoord4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:4963: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glTexCoord4dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5427: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos2dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos3dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5507: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos3dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRasterPos4dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5587: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRasterPos4dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glRectdv(__GLBASIC__::DGIntArray&, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:5795: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glRectdv(const __GLBASIC__::GLdouble*, const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glTexGendv(DGInt, DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:6889: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '3' to 'void glTexGendv(__GLBASIC__::GLenum, __GLBASIC__::GLenum, const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glGetTexGendv(DGInt, DGInt, __GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:6955: error: cannot convert 'DGInt*' to '__GLBASIC__::GLdouble*' for argument '3' to 'void glGetTexGendv(__GLBASIC__::GLenum, __GLBASIC__::GLenum, __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glEvalCoord1dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:7369: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glEvalCoord1dv(const __GLBASIC__::GLdouble*)'
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp: In function 'DGInt __GLBASIC__::glEvalCoord2dv(__GLBASIC__::DGIntArray&)':
/cygdrive/C/DOCUME~1/ADMINI~1/CONFIG~1/Temp/glbasic/gpc_temp1.cpp:7481: error: cannot convert 'DGInt*' to 'const __GLBASIC__::GLdouble*' for argument '1' to 'void glEvalCoord2dv(const __GLBASIC__::GLdouble*)'

*** FATAL ERROR - Please post this output in the forum
_______________________________________
*** Finished ***
Elapsed: 5.3 sec. Time: 23:01
Build: 0 succeeded.
*** 1 FAILED ***


http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

Millerszone

#1
I had those errors too using gl.bas. That's why I copied only the OpenGL commands I needed to a blank file, like below.

I didn't have to declare anything.

Made a file OpenGL.bas with this code. Worked on the iPad.
Code (glbasic) Select

// INLINE functions to use OpenGL functions by Gernot
// directly inside GLBasic

INLINE
#define OGL                ::
typedef float           GLfloat;
ENDINLINE

INLINE
} extern "C" { void __stdcall glTranslatef( GLfloat x , GLfloat y , GLfloat z );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glTranslatef: x, y, z
    INLINE
        OGL glTranslatef(x, y, z);
    ENDINLINE
ENDFUNCTION

INLINE
} extern "C" { void __stdcall glRotatef( GLfloat angle , GLfloat x , GLfloat y , GLfloat z );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glRotatef: angle, x, y, z
    INLINE
        OGL glRotatef(angle, x, y, z);
    ENDINLINE
ENDFUNCTION

INLINE
} extern "C" { void __stdcall glPushMatrix( void );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glPushMatrix:
    INLINE
        OGL glPushMatrix();
    ENDINLINE
ENDFUNCTION

INLINE
} extern "C" { void __stdcall glPopMatrix( void );; }; namespace __GLBASIC__ {
ENDINLINE
FUNCTION glPopMatrix:
    INLINE
        OGL glPopMatrix();
    ENDINLINE
ENDFUNCTION

Hardware: iMac 27", MacBook Air, PC 3.5Ghz Quad
Developing Tools: GLBasic SDK, Gideros Studio, PureBasic
Developing for: iOS, Android, Windows, OS X, webOS, HTML5

Hark0

Thanks.... I test my code following your steps..
;)
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

Hark0

Well, eliminated in gl.gbas "some" declarations...  :P

and compiled for iphone... and works!!!

Later re-compile on Xcode.

:good:
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

Hark0

http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic

matchy

That's great and can't wait to try it out soon!