Important: Please read the Qt Code of Conduct -

Cross-compile Qt5 to Beaglebone

  • I'm trying (and failing miserably) to cross-compile qt 5.5 to the beaglebone, in a VM build server. The server is running Debian 8.

    The toolchain I'm using is Linaro Toolchain to compile to the Beaglebone.

    And then I'm running this commands to set the toolchain path in Qt qmake files:

    • cp -r qtbase/mkspecs/devices/linux-beagleboard-g++ qtbase/mkspecs/devices/linux-beaglebone-g++.old
    • sed -i -e 's|-mfloat-abi=softfp|-mfloat-abi=hard|g' qtbase/mkspecs/devices/linux-beagleboard-g++/qmake.conf
    • cp -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/linux-arm-gnueabi-g++.old
    • sed -i -E -e 's|arm-linux-gnueabi-(.*)|/home/user/Desktop/tools/linaro/linaro-4.8/bin/arm-linux-gnueabihf-\1|g' qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

    And then I use this commands to build the qt sources:

    • ./configure -v -static -release -optimized-qmake -reduce-exports -no-pch -platform linux-g++ -xplatform linux-linaro-gnueabihf-g++ -device linux-beagleboard-g++ -device-option CROSS_COMPILE=/home/user/Desktop/tools/linaro/linaro-4.8/bin/arm-linux-gnueabihf- -prefix ./static/ -opensource -confirm-license -no-largefile -no-sql-mysql -no-sql-psql -qt-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-icu -no-gif -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -openssl-linked -qt-pcre -no-xcb -no-xinput2 -no-glib -no-egl -no-xcursor -no-xfixes -no-xrandr -no-xinerama -no-xinput -qt-xkbcommon-x11 -no-pulseaudio -no-alsa -no-gtkstyle -no-compile-examples -no-nis -no-cups -no-iconv -no-tslib -fontconfig -no-dbus -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -no-gstreamer -nomake examples -nomake tests -skip qtwebkit -skip qtwebsockets -skip qtwebkit-examples -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -skip quick1 -no-audio-backend -no-xkbcommon-evdev -no-evdev -no-libproxy -I/home/tools/openssl/arm/openssl-1.0.1p/include -L/home/tools/openssl/arm/openssl-1.0.1p/ -lssl -lcrypto
    • make -k -j4
    • make -k install

    I'm relatively new to the cross-compiling process, and I'm having a hard time figuring out what might be the problem. I've upload the qt configure command output here: Pastebin URL.

    Can anyone more experienced with this see what might be missing?

  • No one got an idea of what might be missing?

  • It looks like some syntax error. I've noticed your g++ call has this flag: "-std=c++0x". Based on some previous experience, I would suggest you to try "-std=gnu11" instead.

  • Please try to go through these steps :

    Chapter 7

    and this

    Chapter 11