Toolchain to cross-compile QT in a BeagleBone Black running Debian



  • Hello to everyone,
    I am a beginner at programming GUI´s with Qt and also at using the BeagleBone, so I am sorry if my question is a little bit too obvious but I have been stuck with this for a few days now.

    Could somebody please point me where I can download a toolchain that helps me crosscompile between a BBB running Debian with armv7l and a Windows 7 64 bits machine to run a QT GUI application on the beaglebone? I have been looking fr quite a while now but I only seem to find toolchains for Armstrong.

    Thank you for your time and have a nice day :).



  • Here is the toolchain link.

    http://gnutoolchains.com/beaglebone/

    However. I think you will find developing for Beaglebone is MUCH easier on a Linux Debian type machine. My build process involves getting the app to near production state on the Debian laptop with all of the conveniences of a laptop development environment, then moving and building the application directly on the BBB and working out any problems directly on the Bone. The reason for this I use a number of non QT libraries (OpenCV is one) and getting them into the build chain is somewhat difficult in a cross platform environment.

    Good luck.



  • @Nathaniel-Johnson
    I have a Ubuntu 32 bits Linux Distribution running on VirtualBox, should I just install QT there and work form there?

    Also I would like to ask you: I saw a couple of videos to install QT on the BeagleBone and most of them install the "qt4-embedded" update by typing "apt-get" on the command line. My problem here is that I am using a Network that has a Proxy (or something like that) that doesn't let me use the command "apt-get updates". I suppose that because of this Proxy, I can not connect with the server pages of the BeagleBone and therefore can not get the updates. Is there any other way of installing the QT on the beagleBone apart from the mentioned method?



  • @Nathaniel-Johnson

    I have just checked if I have GCC installed on the BeagleBone Black by typing "gcc --version" and it tells me that I have the 4.6.3 version which is the same that comes with the toolchain I believe.

    Do I still need to install the Toolchain on my BBB?



  • gcc is a standard part of any Linux install where QT is not. If you are having problems with apt-get you are going to run into additional problems down the road. apt-get generally uses the same ports as http and dns lookup.

    wget and unzip are all you need to install QT on a bone but might be better to find out why your board won't run apt-get since the OS is updated that way.



  • @Nathaniel-Johnson
    Thank you for answering!

    I wish I could do something about that proxy but my hands are tide in terms of that :/ for now, I only need to make the application run on the beagleBone at least to know that I am on the right road.

    http://www.cloud-rocket.com/2013/07/building-qt-for-beaglebone/
    I am currently following this procedure to try to install QT on my Ubuntu 64 bit Machine on VirtualBox. But my problem comes when I try to add this to the qmake.conf file:

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

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

    modifications to g++.conf

    #Toolchain

    #Compiler Flags to take advantage of the ARM architecture
    QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
    QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

    QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
    QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
    QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
    QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

    modifications to linux.conf

    QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
    QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy
    QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip

    load(qt_config)

    I believe that the directory /usr/local/angstrom... is created by the toolchain that the guy is using. But since I am using a BBB running Debian, I am using this toolchain that you recommended me. The problem is that I can not figure out how to execute the "beaglebone-gcc4.6.3-Debian.exe" fileso that it creates the directories that I need. I tried running it on my windows machine and with the terminal on my Ubuntu machine with "./beaglebone-gcc4.6.3-Debian.exe" and I get the following: "cannot execute binary file: Exec format error"

    If you could point me in the right direction, I would be really thankful :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.