0

I have a dvsdk environment for cross compiling my Qt projects, so that it can be run on an omap board [arm processor]. But the problem is, I can use all other libraries available in Qt [QtCore, QtSql, QtGui, QtNetwork et al] as its cross compiled versions are already available in the dvsdk. But that kit doesn't have the support for OpenGL.

So how can I cross compile OpenGL module for arm processor, so that I can statically link the OpenGL libraries, while cross compilation. Or Any other solution?

ScarCode
  • 3,074
  • 3
  • 19
  • 32

1 Answers1

2

Well, on OMAP you don't have OpenGL, but OpenGL-ES. And you don't link statically to OpenGL (you never do), but use whatever dynamic library is available. In the case of TI OMAPs you need the PoverVR SDK from the TI Developer Download area, which contains a OpenGL-ES implementation for the PowerVR core in the OMAP. Sadly this is a closed source binary blob driver, so you link dynamically to it.

datenwolf
  • 159,371
  • 13
  • 185
  • 298
  • So all libraries/methods that are available in Qt's OpenGL is supported in this OpengGL-ES? So you saying by just adding library path and include path of this OpenGL-ES, I can carry out? – ScarCode Jul 31 '12 at 08:08
  • @spyke: OpenGL-ES is an entirely different API than OpenGL, though very closely related. And Qt has OpenGL-ES support through its regular QGLWidget. See this documentation: http://qt-project.org/doc/qt-4.8/qt-embeddedlinux-opengl.html#using-opengl-es-with-qt – datenwolf Jul 31 '12 at 11:29
  • But my problem is I have all other cross compiled modules of Qt available in dvsdk environment, but not its OpenGL module. I am asking how can I add/integrate piece of code developed with PowerVR for OpenGL to my Qt Project??? – ScarCode Jul 31 '12 at 11:33
  • @spyke: Either get Qt development files with OpenGL(-ES) support for your plattform, or cross compile yourself. You should have a working cross compiler environment already, which setting up is the hard part. A full Qt build with all modules takes about 2 hours to finish on my own machine. – datenwolf Jul 31 '12 at 11:37
  • well I choose the later option as it seems easy.I know the environment for cross compilation, but can you help me on how to cross compile QtOpenGL(only) module so that I can link that statically. Because I couldn't find any link or source having QtOpenGL module and its configure script. I am really exhausted searching how it could be done. – ScarCode Jul 31 '12 at 11:42
  • @spyke: While I understand your motivation for building just the QtOpenGL module I strongly advise against this. C++ (Qt is written in C++) has no specific ABI and there can be major issuses if the compiler versions and C++ libraries being used don't match. Also the QtOpenGL module's build configuration must match exactly that of the Qt binaries you already have. The cross compilation setup of Qt is documented in http://doc.qt.nokia.com/4.7-snapshot/qt-embedded-crosscompiling.html – datenwolf Jul 31 '12 at 12:29
  • I know the exact compiler version, no problem with that. But I need an Independent QTOpenGL module with necessary setup[including configure script for that], so that i can cross compile it. Just like I did cross compilation(independently) of DICOM toolkit(dcmtk) for my omap platform. Well I know how to cross compile Qt application as I have an environmet for cross compiling it provided by dvsdk. But it doesn't have OpenGL module support. – ScarCode Aug 01 '12 at 04:40
  • So what I am trying to do is cross compiling OpenGL module separately, so that I can statically link it by specifying it in the makefile just like I am dealing with dcmtk. Is that possible? – ScarCode Aug 01 '12 at 04:50