Important: Please read the Qt Code of Conduct -

Cross Compiling Qt for arm

  • Hello,

    I am struggling with cross compiling Qt to be able to run on an Arm Beagleboard-xM running Ubuntu 11.10. I have the armel flavor cross compiler installed on my host machine(also Ubuntu 11.10).

    The project seems to configure, but when I attempt the make command, there is usually a file that it cannot find, causing the build to fail. This most recent build attempt was that it cannot find QtGui.

    I think I have installed the cross compiler as well as modifying the Qmake.conf to point to the cross compiler.

    Here are a few specific details:

    My ./configure options are:
    -prefix /opt/qt-arm-bbd
    -xplatform /qws/linux-bbd-g++
    -embedded arm
    -opensource -confirm-license

    i get this error: (sorry about the formatting, I don't know what else to do)

    arm-linux-gnueabi-gcc -c -include .pch/release-shared-emb-arm/QtGui -pipe -fno-exceptions -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fvisibility=hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_USE_BUNDLED_LIBPNG -DPNG_NO_ASSEMBLER_CODE -DQT_NO_FONTCONFIG -DFT2_BUILD_LIBRARY -DFT_CONFIG_OPTION_SYSTEM_ZLIB -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_GTK -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_HAVE_NEON -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-bbd-g++ -I. -I../../include/QtCore -I../../include/QtNetwork -I../../include -I../../include/QtGui -I.rcc/release-shared-emb-arm -Iimage -I../3rdparty/libpng -I../3rdparty/zlib -I../3rdparty/zlib -I../3rdparty/freetype/builds/unix -I../3rdparty/freetype/src -I../3rdparty/freetype/include -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -o .obj/release-shared-emb-arm/pixman-arm-neon-asm.o ../3rdparty/pixman/pixman-arm-neon-asm.S

    cc1: fatal error: .pch/release-shared-emb-arm/QtGui: No such file or directory
    compilation terminated.
    make[1]: *** [.obj/release-shared-emb-arm/pixman-arm-neon-asm.o] Error 1
    make[1]: Leaving directory `/home/mark/Downloads/qt-everywhere-opensource-src-4.8.4/src/gui'
    make: *** [sub-gui-make_default-ordered] Error 2

    According to the error, the compiler could not find the QtGui file, I am not sure why it can't, i havent done anything but change the qmake.config file and then do ./configure then make, it can't seem to make it past this.

    Thank you for your help. I am new to Qt and to this kind of embedded programming, so I am still learning.


  • notice that its missing the pre-compiled header of QtGui.

  • Can you elaborate?

    these are the exact steps i have done:

    I downloaded the qt-everywhere-opensource-src-4.8.4.tar.gz from the qt website.
    I unpacked it, copied the qmake and edited it to used the arm-gnueabi cross-compiler

    ./configure [options]

    am i missing some other files?

  • I suggest trying to backup your mkspec, remove the whole tree unpack a clean one and then start over.

Log in to reply