Problem with Qt and cross compiler for ARM
I explain my situation a bit. I just started my final year project. I have to design and implement an application and will use Qt, I have to say I am newbie, I never used this library and the IDE. Well continued ... This application must "run it" on a BeagleBoard, so I decided to implement it from my PC (x86) and using a cross compiler to build the project which is executable for ARM architecture (Beagle itself). I have six days trying and I always get a failure (either by compiling with the command make, it tells me that there is none-linux-arm-gnueabi-gcc or when I get compile and get the qmake, does not work on the plate ...)
I summarize some context. Let's see if anyone can help.
Host development: Virtual Machine (VMWare with Ubuntu 12.04 (x86_64 bit)
IDE: Qt creator, designer ...
Destination: BeagleBoard (ARM - OMAP3)
Thank you for your time
More people will be able to help you at the BeagleBoard group (https://groups.google.com/forum/?fromgroups#!forum/beagleboard )
Also, you need to provide a lot more information, such as:
- What error messages did you get? (Most important! Copy+paste the full message)
- Where did you get your cross-compiler from?
- Where did you get your Qt library from?
- What version of Qt are you using?
- What OS are you running on the BeagleBoard? (Angstrom? Ubuntu? ...Android?)
Thank you very much for answering!
What error messages did you get? (Most important! Copy+paste the full message)
make: arm-none-linux-gnueabi-g++: Command not found
make: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127
make: Leaving directory `/home/awaxisnei/Desktop/qt-everywhere-opensource-src-4.8.3/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
Where did you get your cross-compiler from?
I got it from this page--> http://www.angstrom-distribution.org/toolchains/archive/
Where did you get your Qt library from?
http://qt-project.org/downloads --> Qt libraries 4.8.3 for Linux/X11 (223 MB)
What version of Qt are you using?
I have installed the Qt sd (QtSdk) -- QtCreator 2.4.1.
What OS are you running on the BeagleBoard? (Angstrom? Ubuntu? …Android?)
Ubuntu 12.04 LTS on the Beagleboard
I've modified the qmake
$/home/awaxisnei/Desktop/qt-everywhere-opensource-src-4.8.3/mkspecs/qws/linux-arm-gnueabi-g++ / # gedit qmake.conf
and looks like this:
qmake configuration for building with arm-none-linux-gnueabi-g++
modifications to g++.conf
QMAKE_CC = arm-none-linux-gnueabi-gcc
QMAKE_CXX = arm-none-linux-gnueabi-g++
QMAKE_LINK = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++
modifications to linux.conf
QMAKE_AR = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP = arm-none-linux-gnueabi-strip
The library "toolchain" is installed here --> /usr/local/angstrom
Your compiler path is not found. Export the path of your cross compiler using export command,
e.g. export PATH=path/to/cross/compiler:$PATH
I've managed to compile, but to build the project I get the following error in QtCreator:
Starting / home/awaxisnei/Desktop/Prueba/Prueba-build-desktop-Qt_4_8_3__qt-arm__Release/Prueba ...
Failed to start program. Path or permissions wrong?
/ home/awaxisnei/Desktop/Prueba/Prueba-build-desktop-Qt_4_8_3__qt-arm__Release/Prueba exited with code -1
Thank you all for your replies.
I remember you that on my PC (x86_ 64-bit Ubuntu 12.04 LTS) developing the application to run on BeagleBoard (Ubuntu 12.04 LTS)
If you compiled a program for an ARM processor, then you can't run that program on a x86_64 processor. You need to put the compiled ARM program on the BeagleBoard
Can using a cross compiler and use a qmake build for ARM. Can not make it? . I have read in various forums that if you can ...
Yes, you can cross-compile for an ARM computer, from an x86_64 PC.
Your error message is "Failed to start program". Is that because you tried to run your program?
You can BUILD/MAKE the program on your PC, but you can't RUN/LAUNCH/OPEN the program on your PC.