About cross-compilation on RPi
I'm trying to get the cross-compiled toolchain working on my dev machine (Debian) and the Rasberry Pi (Arch Linux).
I used the linaro cross-compiler, and I downloaded the source of Qt5.1.0 from the digia site. Here the configure command:
./configure -opensource -developer-build -confirm-license -no-gtkstyle -release -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -no-pch -prefix /usr/local/qt5pi -nomake examples -nomake tests -silent
Then I compiled the qtbase module and then the others.
First questions: why I can't compile the whole Qt5 tree in one shot? Some time ago I compiled the Qt4 for an ARM board and there was no need to manually select the order of the compilation.
Anyway, as first test I compiled/installed only qtbase.
Then I configured QtCreator with the new Qt version and kit. I can successfully cross-compile a simple project.
Now the last two questions:
I configured the remote device properly (e.g. the "test" returns successfully) and added to the kit, but the "run" buttons above the build one are disabled. What it needs to enable the remote launch/debug of an application?
I tried to manually deploy the executable and all Qt5 libraries involved to the target machine. I get the followin error:
Illegal instruction (core dumped)
Of course I verified both the executable and libraries are in the right architecture:
helloworld: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=ba2c57c7a0f90e24b0684531713ade7ee37a4eb0, not stripped