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. Building Qt 5.2.0 for Beagleboard on Windows
Forum Updated to NodeBB v4.3 + New Features

Building Qt 5.2.0 for Beagleboard on Windows

Scheduled Pinned Locked Moved Mobile and Embedded
6 Posts 3 Posters 4.9k Views 1 Watching
  • 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.
  • M Offline
    M Offline
    michael_endres
    wrote on last edited by
    #1

    hello,

    I`m trying to compile Qt 5.2.0 static with Sourcery CodeBench for a Beaglebone and it works without any error. But if I want to use the compiled Version in QT with the compiler arm-none-eabi-g++ or arm-none-gnueabi-g++ i get this error:

    process_begin: CreateProcess(NULL, C:\Sourcery_standard\bin\arm-none-linux-eabi-g++.exe -c -pipe -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -g -Wall -W -fPIE -DQT_STATIC_BUILD -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -I..\qt-everywhere-opensource-src-5.2.0_9Versuch\qtbase\mkspecs\linux-arm-gnueabi-g++ -I..\untitled3 -I. -o main.obj ..\untitled3\main.cpp, ...) failed.
    make (e=2): Das System kann die angegebene Datei nicht finden.
    make: *** [main.obj] Error 2
    16:03:23: Der Prozess "C:\Sourcery_standard\bin\make.exe" wurde mit dem Rückgabewert 2 beendet.
    I'm using windows 7 with Qt 5.2.0

    May you help me?

    sincerly Yours
    Michael Endres

    apendix:
    qmake.conf:

    qmake configuration for building with arm-linux-gnueabi-g++

    MAKEFILE_GENERATOR = UNIX
    CONFIG += incremental gdb_dwarf_index
    QMAKE_INCREMENTAL_STYLE = sublib

    include(../common/linux.conf)
    include(../common/gcc-base-unix.conf)
    include(../common/g++-unix.conf)

    modifications to g++.conf

    QMAKE_CC = C:\Sourcery_standard\bin\arm-none-linux-eabi-gcc
    QMAKE_CXX = C:\Sourcery_standard\bin\arm-none-linux-eabi-g++
    QMAKE_LINK = C:\Sourcery_standard\bin\arm-none-linux-eabi-g++
    QMAKE_LINK_SHLIB = C:\Sourcery_standard\bin\arm-linux-eabi-g++

    modifications to linux.conf

    QMAKE_AR = C:\Sourcery_standard\bin\arm-none-linux-eabi-ar cqs
    QMAKE_OBJCOPY = C:\Sourcery_standard\bin\arm-none-linux-eabi-objcopy
    QMAKE_NM = C:\Sourcery_standard\bin\arm-none-linux-eabi-nm -P
    QMAKE_STRIP = C:\Sourcery_standard\bin\arm-none-linux-eabi-strip
    COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard
    QMAKE_LIBS += -lrt -lpthread -ldl
    QMAKE_CFLAGS += $${COMPILER_FLAGS}
    QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
    QMAKE_CXXFLAGS_RELEASE += -O3

    QMAKE_CFLAGS_RELEASE = -Os -momit-leaf-frame-pointer
    QMAKE_LFLAGS = -static -static-libgcc
    DEFINES += QT_STATIC_BUILD
    load(qt_config)

    configure.exe:
    C:\qt-everywhere-opensource-src-5.2.0_10Versuch\qtbase>configure.exe -embedded -
    platform win32-g++ -xplatform linux-arm-gnueabi-g++ -no-angle -opengl desktop -s
    tatic

    1 Reply Last reply
    0
    • M Offline
      M Offline
      michael_endres
      wrote on last edited by
      #2

      i`ve found the mistake... the name of the compiler was wrong. the correct name is arm-none-linux-gnueabi-g++.
      But now i have a new problem in configure.exe :

      C:\qt-everywhere-opensource-src-5.2.0_12Versuch\qtbase>configure -embedded -plat
      form win32-g++ -xplatform linux-arm-gnueabi-g++ -no-angle -opengl desktop -stati
      c -opensource -nomake examples

      This is the Qt for Windows Open Source Edition.

      You are licensed to use this software under the terms of
      the GNU Lesser General Public License (LGPL) version 2.1.

      Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1).
      Type 'y' to accept this license offer.
      Type 'n' to decline this license offer.

      Do you accept the terms of the license?
      y
      Creating qmake...
      mingw32-make: Nothing to be done for 'first'.
      Running configuration tests...
      c:/sourcery_standard/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.1/../../../../arm
      -none-linux-gnueabi/bin/ld.exe: error: arch.obj uses VFP register arguments, arc
      h does not
      c:/sourcery_standard/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.1/../../../../arm
      -none-linux-gnueabi/bin/ld.exe: failed to merge target specific data of file arc
      h.obj
      collect2.exe: error: ld returned 1 exit status
      mingw32-make: *** [arch] Error 1
      Could not find output file: No such file or directory

      Any Ideas?

      ###########

      qmake configuration for building with arm-linux-gnueabi-g++

      MAKEFILE_GENERATOR = UNIX
      CONFIG += incremental gdb_dwarf_index
      QMAKE_INCREMENTAL_STYLE = sublib

      include(../common/linux.conf)
      include(../common/gcc-base-unix.conf)
      include(../common/g++-unix.conf)

      modifications to g++.conf

      QMAKE_CC = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-gcc.exe
      QMAKE_CXX = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-g++.exe
      QMAKE_LINK = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-g++.exe
      QMAKE_LINK_SHLIB = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-g++.exe

      modifications to linux.conf

      QMAKE_AR = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-ar.exe cqs
      QMAKE_OBJCOPY = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-objcopy.exe
      QMAKE_NM = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-nm.exe -P
      QMAKE_STRIP = C:\Sourcery_standard\bin\arm-none-linux-gnueabi-strip.exe
      COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mthumb
      QMAKE_CFLAGS += $${COMPILER_FLAGS}
      QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
      QMAKE_CXXFLAGS_RELEASE += -O3

      QMAKE_CFLAGS_RELEASE = -Os -momit-leaf-frame-pointer
      QMAKE_LFLAGS = -static -static-libgcc
      DEFINES += QT_STATIC_BUILD
      load(qt_config)

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        qtgopher
        wrote on last edited by
        #3

        Check your COMPILER_FLAGS variable in the qmake.conf file.

        The option '-mfloat-abi=' needs to match your toolchain type. The default for qtbase/mkspecs/devices/linux-beagleboard-g++/qmake.conf is 'softfp', but I had to change mine for the linaro toolchain to 'hard'

        1 Reply Last reply
        0
        • M Offline
          M Offline
          michael_endres
          wrote on last edited by
          #4

          can you post your qmake.conf?

          1 Reply Last reply
          0
          • E Offline
            E Offline
            ELSYS
            wrote on last edited by
            #5

            Hi,

            I have a simlilar problem.


            Error message:
            Der Befehl "test" ist entweder falsch geschrieben oder
            konnte nicht gefunden werden.
            Ein Unterverzeichnis oder eine Datei mit dem Namen "qtbase" existiert bereits.
            Folgender Fehler trat auf: qtbase.
            makefile:60: recipe for target 'module-qtbase-make_first' failed
            mingw32-make: *** [module-qtbase-make_first] Error 1
            mingw32-make: Target 'first' not remade because of errors


            System:
            Windows 7 Enterprise
            Qt 5.2.0
            Linaro Toolchain (https://launchpad.net/linaro-toolchain-binaries/+download)
            http://download.qt-project.org/official_releases/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.zip


            My compile script:

            echo "Qt static Cross-Compiler
            @ECHO off

            :: In den Ordner springen
            @if NOT exist "C:\Qt_BBB" mkdir "C:\Qt_BBB"
            @cd "C:\Qt_BBB"

            :: alten Ordner löschen => entzippen
            @if exist qt-everywhere-opensource-src-5.2.1 rm -R qt-everywhere-opensource-src-5.2.1
            "C:\Program Files (x86)\7-Zip\7z.exe" x qt-everywhere-opensource-src-5.2.1.zip

            :: 1. Ordner kopieren (Remote PC)
            cd "C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1\qtbase\mkspecs\devices"
            @if exist "linux-beaglebone-g++" rm -R linux-beaglebone-g++
            @if NOT exist "linux-beaglebone-g++" mkdir "linux-beaglebone-g++"
            xcopy "C:\Qt_BBB\linux-beaglebone-g++*" ".\linux-beaglebone-g++" /S/E

            :: 2. Ordner kopieren (PC Plattform)
            cd "C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1\qtbase\mkspecs"
            ::@if exist "win32-beaglebone-g++" rm -R win32-beaglebone-g++
            ::@if NOT exist "win32-beaglebone-g++" mkdir "win32-beaglebone-g++"
            @if exist "win32-g++" rm -R win32-g++
            @if NOT exist "win32-g++" mkdir "win32-g++"
            xcopy "C:\Qt_BBB\win32-g++*" ".\win32-g++" /S/E

            :: 3. Ordner kopieren

            @if exist "linux-linaro-gnueabihf-g++" rm -R linux-linaro-gnueabihf-g++
            @if NOT exist "linux-linaro-gnueabihf-g++" mkdir "linux-linaro-gnueabihf-g++"
            xcopy "C:\Qt_BBB\linux-linaro-gnueabi-g++*" ".\linux-linaro-gnueabihf-g++" /S/E

            :: Umgebungsvariable setzen
            ::SET PATH=C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1;C:\Qt\Tools\mingw48_32\bin;C:\Qt\Tools\mingw48_32\opt\bin;C:\Windows\system32;C:\Windows
            SET PATH=C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1;C:\Qt\Tools\mingw48_32\bin;C:\Qt\Tools\mingw48_32\opt\bin;C:\Windows\system32;C:\Windows;"C:\Program Files (x86)\Linaro\gcc-linaro-arm-linux-gnueabihf-4.8-2013.10";"C:\Program Files (x86)\Linaro\gcc-linaro-arm-linux-gnueabihf-4.8-2013.10\bin";"C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1\qtbase\config.tests\arch"
            SET LANG="en"

            SET QT_INSTALL_PREFIX=C:\Qt_BBB\Qt_Static_Win

            cd "C:\Qt_BBB"
            @if NOT exist "Qt_Static_Win" mkdir "."

            :: Arch Dateien einbinden
            cd "C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1\qtbase\config.tests\arch"
            xcopy "C:\Qt_BBB\build*" "." /S/E

            :: Qt configurieren
            cd "C:\Qt_BBB\qt-everywhere-opensource-src-5.2.1"

            ::@if exist "configure.bat" rm configure.bat
            xcopy "C:\Qt_BBB\configure.bat" "." /S/E/Y

            configure.bat -static -debug-and-release -platform win32-g++ -prefix "C:\Qt_BBB\Qt_Static_Win" -xplatform linux-linaro-gnueabihf-g++ -device linux-beaglebone-g++ -device-option CROSS_COMPILE="C:\Linaro\gcc-linaro-arm-linux-gnueabihf-4.8-2013.10\bin\arm-linux-gnueabihf-" -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests
            ::configure.bat -static -debug-and-release -platform win32-beaglebone-g++ -prefix "C:\Qt_BBB\Qt_Static_Win" -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests
            :: Wie bei Windows mit Static (funktioniert)
            ::configure.bat -static -debug-and-release -platform win32-g++ -prefix "C:\Qt_BBB\Qt_Static_Win" -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests

            :: LINUX
            :: –prefix /usr/local/qt-5.2 -xplatform linux-linaro-gnueabihf-g++ -device linux-beaglebone-g++ -device-option CROSS_COMPILE=/usr/local/linaro/bin/arm-linux-gnueabihf- -qt-zlib -qt-libpng -qt-libjpeg -opensource -confirm-license -no-largefile -no-accessibility -no-gif -no-nis -no-cups -v

            :: Static
            :: -static -debug-and-release -platform win32-g++ -prefix $QtDir -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests

            :: Bauen
            mingw32-make -k -j4

            :: Qt_Static_Win statt src !!!

            :: Datei anpassen für Qt Static
            ::cd "C:\Qt_BBB\Qt_Static_Win\qtbase\mkspecs"
            ::SET "ziel_datei=.\win32-beaglebone-g++\qmake.conf"

            ::ECHO CONFIG += static >> %ziel_datei%

            1 Reply Last reply
            0
            • E Offline
              E Offline
              ELSYS
              wrote on last edited by
              #6

              File modifications:

              => linux-beagleboard-g++
              C:\Qt_BBB\linux-beaglebone-g++\qmake.conf

              modified

              COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard

              add

              [QT-STATIC-PATCH]

              QMAKE_LFLAGS += -static -static-libgcc
              QMAKE_CFLAGS_RELEASE -= -O2
              QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer
              DEFINES += QT_STATIC_BUILD

              => linux-arm-gnueabi-g++
              C:\Qt_BBB\linux-linaro-gnueabihf-g++\qmake.conf

              add

              [QT-STATIC-PATCH]

              QMAKE_LFLAGS += -static -static-libgcc
              QMAKE_CFLAGS_RELEASE -= -O2
              QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer
              DEFINES += QT_STATIC_BUILD

              => win32-g++
              C:\Qt_BBB\win32-g++\qmake.conf

              add

              [QT-STATIC-PATCH]

              QMAKE_LFLAGS += -static -static-libgcc
              QMAKE_CFLAGS_RELEASE -= -O2
              QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer
              DEFINES += QT_STATIC_BUILD

              ===============================

              I compiled Arch.pro with static settings.

              Have everybody cross compile from Win 7 to BBB?

              Thank you for helping.

              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