Problem with Qt and cross compiler for ARM
-
hello,
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[1]: arm-none-linux-gnueabi-g++: Command not found
make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 127
make[1]: Leaving directory `/home/awaxisnei/Desktop/qt-everywhere-opensource-src-4.8.3/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2Where 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
-
More info...
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++
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)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-stripload(qt_config)
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:$PATHcheers,
Nikhil -
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 -1Thank 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.
-
@awaxisnei @JKSH @nikCoder , Hello Everyone
ARM : gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux
QT : qtbase-everywhere-src-5.12.8Whenever try to config with
Original Command : /configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++
Modified COMMAND : ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.12.8-arm-little-endian -no-pch -xplatform linux-arm-gnueabi-g++
After Running : Coming Error
Creating qmake...
.Done.
sh: 1: cannot open yourUserName: No such file
Project ERROR: Cannot run target compiler '/home/<yourUserName>/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++'. Output:===================
Maybe you forgot to setup the environment?How to solve it ?