Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

[Solved]Blackberry Qt5 with ANGLE for OpenGL ES2?



  • I setup "ANGLE":http://code.google.com/p/angleproject/ per the "documentation":http://code.google.com/p/angleproject/wiki/DevSetup with "DirectX SDK":http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0CCAQFjAA&url=http://www.microsoft.com/en-us/download/details.aspx?id=6812&ei=KfNGUIfGGcWEjAK99ICoDA&usg=AFQjCNGlfkpARxrIP0j9oZzSR_DsVAtnKw&sig2=rgGvDjtNpnQQiWIwW_ofdQ . This is being done with Windows 7 operating system.

    No errors, files seem to be there. I then copied the release files to their own directory (ie: C:/SDKs/Qt/tools/opengles2).

    I setup my cmd shell for build like so:

    @set QTDIR=C:/SDKs/qt/qt5/qtbase

    c:/bbndk/bbndk-env.bat

    set PATH=C:/SDKs/qt/qt5/qtbase/bin
    set PATH=%PATH%;C:/Perl64/bin
    set PATH=%PATH%;C:/Python27
    set PATH=%PATH%;C:/MinGW/bin
    set PATH=%PATH%;C:/SDKs/Qt/tools/opengles2
    set PATH=%PATH%;%SystemRoot%/System32
    set QMAKESPEC=win32-g++@

    Then I run config (Gitorious D/L as of 9-4-12 no longer requires 'unsupported' under -xplatform):

    @configure -prefix C:/dev/qt5install -xplatform blackberry-armv7le-qcc -opengl es2 -angle C:/SDKs/tools/Angle -nomake docs -nomake examples -nomake demos -nomake tests -opensource -confirm-license -release -no-neon@

    It completes configure but still errors at GLES2 with this:

    @In file included from ../../include/QtGui/qopengl.h:1:0,
    from ../../include/QtGui/5.0.0/QtGui/qpa/../../../../../src/gui/kernel/qplatformopenglcontext.h:59,
    from ../../include/QtGui/5.0.0/QtGui/qpa/qplatformopenglcontext.h:1,
    from ../../include/QtGui/5.0.0/QtGui/qpa/../../../../../src/gui
    /kernel/qplatformwindow.h:59,
    from ../../include/QtGui/5.0.0/QtGui/qpa/qplatformwindow.h:1,
    from kernel/qwindowsysteminterface.cpp:42:
    ../../include/QtGui/../../src/gui/opengl/qopengl.h:55:25: fatal error: GLES2/gl2.h: No such file or directory

    compilation terminated.
    mingw32-make[3]: *** [tmp/obj/release_shared/qwindowsysteminterface.o] Error 1
    mingw32-make[3]: Leaving directory c:/SDKs/Qt/qt5/qtbase/src/gui' mingw32-make[2]: *** [release] Error 2 mingw32-make[2]: Leaving directoryc:/SDKs/Qt/qt5/qtbase/src/gui'
    mingw32-make[1]: *** [sub-gui-make_first] Error 2
    mingw32-make[1]: Leaving directory `c:/SDKs/Qt/qt5/qtbase/src'
    mingw32-make: *** [sub-src-make_first] Error 2@

    Any ideas?


  • Moderators

    I don't think Blackberry supports directX, does it? So why do you try to use Angle for this?



  • I didn't know it makes the whole library rely on DirectX. I thought it was a work-around to compile for OpenGL ES2 library but would still allow OpenGL ES2 programming. This is super depressing if its a complete replacement of it.

    I am about ready to give up on Windows 7.


  • Moderators

    Angle is a library that translates OpenGL calls into DirectX calls.

    On windows, you probably have both installed (both AMD and nVidia provide OpenGL and DirectX drivers). I have no experience on Blackberry, but I think their OS is UNIX-like, so it probably does support OpenGL natively. Qt5's QUICK2 uses OpenGL.



  • I know it uses OpenGL but my problem is compiling on Windows 7 to get a Blackberry library to use in Blackberry development. I think I may have gotten it, I should find out soon as it gets to that step again. Let you know what I did if it works.



  • Wow, it worked. Unfortunatly a new OpenGL error but much closer.

    What I did was use the headers for OpenGL from qnx includes GLES & GLES2. I stopped using ANGLE also.

    The new error:

    @:(.text$_ZN19QOpenGLGlyphTexture12freeResourceEP14QOpenGLContext[QOpenGLGlyphTex
    ture::freeResource(QOpenGLContext*)]+0x39): undefined reference to _imp__glDele teTextures@8' collect2: ld returned 1 exit status mingw32-make[3]: *** [../../lib/QtGui5.dll] Error 1 mingw32-make[3]: Leaving directoryc:/SDKs/Qt/qt5/qtbase/src/gui'
    mingw32-make[2]: *** [release] Error 2
    mingw32-make[2]: Leaving directory c:/SDKs/Qt/qt5/qtbase/src/gui' mingw32-make[1]: *** [sub-gui-make_first] Error 2 mingw32-make[1]: Leaving directoryc:/SDKs/Qt/qt5/qtbase/src'
    mingw32-make: *** [sub-src-make_first] Error 2@


  • Moderators

    Linker error. A build object is missing. I can't help more, though, I've never had such an issue + my OpenGL knowledge can hardly be named "knowledge" ;)



  • It beats mine :) trying to figure out the reason may need different headers. Thank you for the clarity on ANGLE! At least I feel I can go another day of trying to get this.



  • Solution result. I had to forget ANGLE because I miss understood it's use. Angle as @sierdzio mentions is a replacement for OpenGL ES2 for those who don't have it at all, not if the development files aren't present or compiled. It will make your program use Direct X instead of OpenGL ES.

    Could be useful knowledge at a later date...



  • Yeah Blackberry uses OpenGL ES2 natively. No DirectX, hence no need for ANGLE at all. If you encounter any issues with the ES2 support on Blackberry please let us know.



  • I don't know if this can help anyone, but configuring Qt5 with this option "-opengl desktop" was very helpful for me, to rely on my real video card opengl capabilities.

    Bill


Log in to reply