Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [TUTO] Build Qt to cross compile for arm

[TUTO] Build Qt to cross compile for arm

Scheduled Pinned Locked Moved Mobile and Embedded
armcross compilecross platformlinux
68 Posts 15 Posters 50.2k Views
  • 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.
  • A Offline
    A Offline
    Asha
    wrote on last edited by
    #46

    Hi,

    Any suggestions,

    jsulmJ 1 Reply Last reply
    0
    • A Asha

      Hi,

      Any suggestions,

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #47

      @asha Please show how you call configure.
      Also, it is better to post text instead of screen-shots...

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      A 1 Reply Last reply
      0
      • A Offline
        A Offline
        Asha
        wrote on last edited by
        #48

        I called configure
        0_1568359047816_calling configure.png .

        1 Reply Last reply
        0
        • jsulmJ jsulm

          @asha Please show how you call configure.
          Also, it is better to post text instead of screen-shots...

          A Offline
          A Offline
          Asha
          wrote on last edited by
          #49

          @jsulm sorry,ffor some of the reason using screenshots.

          1 Reply Last reply
          0
          • A Offline
            A Offline
            Asha
            wrote on last edited by
            #50

            Hi,

            Can anyone say,

            what it does: fourth step

            ."/configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++"

            specially this part "embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++"

            because,

            I downloaded qt src code 5.7.1 and arm-linux-gnueabihf-gcc 6.5.0, and I found my qmake.conf file in "/home/<username>/Downloads/qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs/linux-arm-gnueabi-g++"

            So,now I need to configure,not getting the above path,I don't have qws directory,

            can I give just ./configure for configuration?

            MijazM 1 Reply Last reply
            0
            • A Asha

              Hi,

              Can anyone say,

              what it does: fourth step

              ."/configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++"

              specially this part "embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++"

              because,

              I downloaded qt src code 5.7.1 and arm-linux-gnueabihf-gcc 6.5.0, and I found my qmake.conf file in "/home/<username>/Downloads/qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs/linux-arm-gnueabi-g++"

              So,now I need to configure,not getting the above path,I don't have qws directory,

              can I give just ./configure for configuration?

              MijazM Offline
              MijazM Offline
              Mijaz
              wrote on last edited by
              #51

              @Asha
              Same problem.

              1 Reply Last reply
              0
              • I Offline
                I Offline
                IknowQT
                wrote on last edited by
                #52

                a783886d-2104-42c0-ab45-89d3e212c8d8-image.png

                ERROR: Unknown command line option '-embedded'.
                I'm getting an error, can you take a look?

                Pablo J. RoginaP 1 Reply Last reply
                0
                • I IknowQT

                  a783886d-2104-42c0-ab45-89d3e212c8d8-image.png

                  ERROR: Unknown command line option '-embedded'.
                  I'm getting an error, can you take a look?

                  Pablo J. RoginaP Offline
                  Pablo J. RoginaP Offline
                  Pablo J. Rogina
                  wrote on last edited by
                  #53

                  @IknowQT said in [TUTO] Build Qt to cross compile for arm:

                  ERROR: Unknown command line option '-embedded'.

                  You were already told to remove such option in this post.

                  Please don't double post, just follow one thread with your issue.

                  Upvote the answer(s) that helped you solve the issue
                  Use "Topic Tools" button to mark your post as Solved
                  Add screenshots via postimage.org
                  Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                  1 Reply Last reply
                  1
                  • rightecR Offline
                    rightecR Offline
                    rightec
                    wrote on last edited by
                    #54
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      Abhijeet 0
                      wrote on last edited by
                      #55

                      Getting Error : The errors we are encountering seem to be related to missing member variables and functions in the Ui::QPrintWidget and Ui::QPageSetupWidget classes, which are generated by Qt's User Interface Compiler (uic) based on .ui files. How to solve it ?

                      jsulmJ 1 Reply Last reply
                      0
                      • A Abhijeet 0

                        Getting Error : The errors we are encountering seem to be related to missing member variables and functions in the Ui::QPrintWidget and Ui::QPageSetupWidget classes, which are generated by Qt's User Interface Compiler (uic) based on .ui files. How to solve it ?

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #56

                        @Abhijeet-0 Please provide more information:

                        • Relevant code
                        • Pro/CMakeLists.txt file
                        • Exact error messages
                        • Qt version

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        A 1 Reply Last reply
                        0
                        • jsulmJ jsulm

                          @Abhijeet-0 Please provide more information:

                          • Relevant code
                          • Pro/CMakeLists.txt file
                          • Exact error messages
                          • Qt version
                          A Offline
                          A Offline
                          Abhijeet 0
                          wrote on last edited by
                          #57

                          @jsulm Version: QT 4.8.5

                          ARM Compiler : ARM Compiler

                          Whenever execute : make -j9 ARCH=arm CROSS_COMPILE=home/odroid/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-

                          Error Come : ^
                          make[1]: *** [Makefile:132921: .obj/release-shared-emb-arm/qpagesetupdialog_unix.o] Error 1
                          make[1]: *** [Makefile:135029: .obj/release-shared-emb-arm/qfiledialog.o] Error 1
                          make[1]: Leaving directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/gui'
                          make: *** [Makefile:385: sub-gui-make_default-ordered] Error 2

                          jsulmJ 1 Reply Last reply
                          0
                          • A Abhijeet 0

                            @jsulm Version: QT 4.8.5

                            ARM Compiler : ARM Compiler

                            Whenever execute : make -j9 ARCH=arm CROSS_COMPILE=home/odroid/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-

                            Error Come : ^
                            make[1]: *** [Makefile:132921: .obj/release-shared-emb-arm/qpagesetupdialog_unix.o] Error 1
                            make[1]: *** [Makefile:135029: .obj/release-shared-emb-arm/qfiledialog.o] Error 1
                            make[1]: Leaving directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/gui'
                            make: *** [Makefile:385: sub-gui-make_default-ordered] Error 2

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #58

                            @Abhijeet-0 said in [TUTO] Build Qt to cross compile for arm:

                            make[1]: *** [Makefile:132921: .obj/release-shared-emb-arm/qpagesetupdialog_unix.o] Error 1

                            Please post actual error which are somewhere above this line...
                            Is there a reason why you're using this ancient Qt version?

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            A 2 Replies Last reply
                            0
                            • jsulmJ jsulm

                              @Abhijeet-0 said in [TUTO] Build Qt to cross compile for arm:

                              make[1]: *** [Makefile:132921: .obj/release-shared-emb-arm/qpagesetupdialog_unix.o] Error 1

                              Please post actual error which are somewhere above this line...
                              Is there a reason why you're using this ancient Qt version?

                              A Offline
                              A Offline
                              Abhijeet 0
                              wrote on last edited by
                              #59

                              @jsulm Sorry, completely new in this filed. Wanted to work with QT Creator 4.11.0 but many file is missing in QT Creator 4.11.0 such as mkspecs, do you suggest how to do this if go with QT Creator 4.11.0.

                              And secondly, please find error screenshot here.

                              Yes.png

                              Can you please guide to exact direction without errors ?

                              A 1 Reply Last reply
                              0
                              • A Abhijeet 0

                                @jsulm Sorry, completely new in this filed. Wanted to work with QT Creator 4.11.0 but many file is missing in QT Creator 4.11.0 such as mkspecs, do you suggest how to do this if go with QT Creator 4.11.0.

                                And secondly, please find error screenshot here.

                                Yes.png

                                Can you please guide to exact direction without errors ?

                                A Offline
                                A Offline
                                Abhijeet 0
                                wrote on last edited by
                                #60

                                @Abhijeet-0 Error is very large. So shared screenshoot. Unable to copy and paste text error due to virtual machine limitation.

                                1 Reply Last reply
                                0
                                • jsulmJ jsulm

                                  @Abhijeet-0 said in [TUTO] Build Qt to cross compile for arm:

                                  make[1]: *** [Makefile:132921: .obj/release-shared-emb-arm/qpagesetupdialog_unix.o] Error 1

                                  Please post actual error which are somewhere above this line...
                                  Is there a reason why you're using this ancient Qt version?

                                  A Offline
                                  A Offline
                                  Abhijeet 0
                                  wrote on last edited by
                                  #61

                                  @jsulm How to solve error ? Can you please answer ? Suggestion other option ?

                                  A 1 Reply Last reply
                                  0
                                  • A Abhijeet 0

                                    @jsulm How to solve error ? Can you please answer ? Suggestion other option ?

                                    A Offline
                                    A Offline
                                    Abhijeet 0
                                    wrote on last edited by Abhijeet 0
                                    #62

                                    @jsulm @ @Abhijeet-0 Changed platform now : Qt-5.12.8-
                                    ARM : gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu

                                    Whenever write command get errors :

                                    odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++
                                    Creating qmake...
                                    .Done.
                                    ERROR: Invalid target platform 'qws/linux-aarch-gnu-g++'.

                                    How to solve it ?

                                    jsulmJ 1 Reply Last reply
                                    0
                                    • A Abhijeet 0

                                      @jsulm @ @Abhijeet-0 Changed platform now : Qt-5.12.8-
                                      ARM : gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu

                                      Whenever write command get errors :

                                      odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++
                                      Creating qmake...
                                      .Done.
                                      ERROR: Invalid target platform 'qws/linux-aarch-gnu-g++'.

                                      How to solve it ?

                                      jsulmJ Offline
                                      jsulmJ Offline
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #63

                                      @Abhijeet-0 said in [TUTO] Build Qt to cross compile for arm:

                                      odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++

                                      First of all: do NOT build inside source code folder!
                                      Create a build folder, go to this folder and call configure from there.
                                      If you then still get errors then post the FIRST error.

                                      What you're doing has nothing to do with QtCreator.

                                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      A 1 Reply Last reply
                                      0
                                      • jsulmJ jsulm

                                        @Abhijeet-0 said in [TUTO] Build Qt to cross compile for arm:

                                        odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++

                                        First of all: do NOT build inside source code folder!
                                        Create a build folder, go to this folder and call configure from there.
                                        If you then still get errors then post the FIRST error.

                                        What you're doing has nothing to do with QtCreator.

                                        A Offline
                                        A Offline
                                        Abhijeet 0
                                        wrote on last edited by Abhijeet 0
                                        #64

                                        @jsulm @ thank you for your explanation : Actually followed same step mentioned in :

                                        Fourth : Execute the Qt configure

                                        Go to /home/<yourUserName>/qt-everywhere-opensource-src-4.8.5/

                                        Execute this command to install Qt in the /usr/local/Qt-4.8.5-arm/ directory : ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++

                                        Done Changes :

                                        odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++
                                        Creating qmake...
                                        .Done.
                                        ERROR: Invalid target platform 'qws/linux-aarch-gnu-g++'.

                                        How to solve it ? Where is source folder ? Where to build source code folder ?

                                        Another Approach :

                                        @jsulm ,

                                        Now Changed :

                                        QT : qt-everywhere-opensource-src-4.8.6

                                        ARM : gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux

                                        Get following Error :

                                        make[1]: Entering directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/corelib'
                                        arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER="/lib64/ld-linux-x86-64.so.2" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-gnueabi-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp
                                        make[1]: arm-none-linux-gnueabi-g++: Command not found
                                        make[1]: *** [Makefile:6917: .obj/release-shared-emb-arm/qabstractanimation.o] Error 127
                                        make[1]: Leaving directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/corelib'
                                        make: *** [Makefile:200: sub-corelib-make_default-ordered] Error 2
                                        Explanation : It seems like we've configured qmake to use the compiler arm-linux-gnueabihf-g++. However, the error message suggests that the build process is looking for arm-none-linux-gnueabi-g++, which indicates a mismatch between the expected compiler name and the actual compiler name Then where is arm-none-linux-gnueabi-g++ ? only arm-linux-gnueabihf-g++ exits

                                        jsulmJ 1 Reply Last reply
                                        0
                                        • A Abhijeet 0

                                          @jsulm @ thank you for your explanation : Actually followed same step mentioned in :

                                          Fourth : Execute the Qt configure

                                          Go to /home/<yourUserName>/qt-everywhere-opensource-src-4.8.5/

                                          Execute this command to install Qt in the /usr/local/Qt-4.8.5-arm/ directory : ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++

                                          Done Changes :

                                          odroid@odroid:~/installQt/qtbase-everywhere-src-5.12.8$ ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-aarch-little-endian -no-pch -xplatform qws/linux-aarch-gnu-g++
                                          Creating qmake...
                                          .Done.
                                          ERROR: Invalid target platform 'qws/linux-aarch-gnu-g++'.

                                          How to solve it ? Where is source folder ? Where to build source code folder ?

                                          Another Approach :

                                          @jsulm ,

                                          Now Changed :

                                          QT : qt-everywhere-opensource-src-4.8.6

                                          ARM : gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux

                                          Get following Error :

                                          make[1]: Entering directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/corelib'
                                          arm-none-linux-gnueabi-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER="/lib64/ld-linux-x86-64.so.2" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-gnueabi-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp
                                          make[1]: arm-none-linux-gnueabi-g++: Command not found
                                          make[1]: *** [Makefile:6917: .obj/release-shared-emb-arm/qabstractanimation.o] Error 127
                                          make[1]: Leaving directory '/home/odroid/installQt/qt-everywhere-opensource-src-4.8.5/src/corelib'
                                          make: *** [Makefile:200: sub-corelib-make_default-ordered] Error 2
                                          Explanation : It seems like we've configured qmake to use the compiler arm-linux-gnueabihf-g++. However, the error message suggests that the build process is looking for arm-none-linux-gnueabi-g++, which indicates a mismatch between the expected compiler name and the actual compiler name Then where is arm-none-linux-gnueabi-g++ ? only arm-linux-gnueabihf-g++ exits

                                          jsulmJ Offline
                                          jsulmJ Offline
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #65

                                          @Abhijeet-0 So, you're still building inside the source folder? You really should not. Please start with a fresh source folder without any build artefacts and build in a build folder.
                                          "Now Changed" - do you mean you changed the configure parameters? If so post the new configure call.

                                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          A 1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved