Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Cross Compiling Qt for arm

    Mobile and Embedded
    2
    4
    2827
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      labbatom77 last edited by

      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:
      ./configure
      -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.

      -Mark

      1 Reply Last reply Reply Quote 0
      • T
        tzander last edited by

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

        1 Reply Last reply Reply Quote 0
        • L
          labbatom77 last edited by

          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]
          make

          am i missing some other files?

          1 Reply Last reply Reply Quote 0
          • T
            tzander last edited by

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

            1 Reply Last reply Reply Quote 0
            • First post
              Last post