[Development] Cross-compile Qt 4.8.x for QNX 6.5.0
oleg.yadrov at qt.io
Tue Dec 19 21:44:36 CET 2017
I'm having issues while trying to build Qt 4.8.7 for QNX 6.5.0 (vanilla QNX 6.5.0 without SP1 and libscreen patches installed).
Seems like nobody tested if Qt 4.8.5 (I've tried both 4.8.7 and 4.8.5 and observed exactly the same errors) builds for QNX 6.5.0 before release, because it simply does not compile.
I have QNX SDP 6.5.0 installed to /opt/qnx650, so before configure Qt I set
I'm using the following line to configure Qt:
/home/user/qtforqnx/src/configure -xplatform qnx-x86-qcc -embedded i386 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -exceptions -nomake webkit -opengl es1 -v -prefix /home/user/qtforqnx/install
Then, during configuration, I get a message that OpenGL ES 1.x auto-detection test failed due to undefined reference to "gf_surface_create" and "gf_surface_free".
I found a way to fix it: I need to add "LIBS += -lgf" to qtsrc/src/mkspecs/qnx-x86-qcc/qmake.conf.
Then I get a similar message about EGL. I add "-lEGL" to the same "LIBS" statement.
Configuration finishes successfully, I run make a get a message "qlocale_unix.cpp:36: error: '_CS_LOCALE' was not declared in this scope.
I go to qlocale_unix.cpp and add "#include <unistd.h>". Next time make stops on qfilesystemiterator_unix.cpp. I do more changes in qfilesystemiterator_unix.cpp.
Later on make stops due to multiple errors in QWSServer.
I don't think I'm supposed to do all these changes.
Am I doing something wrong, or is it really so that nobody tested if Qt >= 4.8.5 builds for QNX 6.5 before me?
Oleg Yadrov - oleg.yadrov at qt.io<mailto:oleg.yadrov at qt.io>
PS: I'm not sure what "-embedded i386" parameter is needed for, but if I don't specify it, make fails due to something related to X11 header files.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Development