Get Qt example running on SAM9N12
-
Hi and welcome to devnet,
Did you cross-compile Qt for your board ? If so, the just call the qmake from that version of Qt to build your project
-
I have a cross-compiled Qt-Version from buildroot.org on the Evaluation-Board, but it doesn't know the qmake command, sadly...
-
Well i didn't see this post: https://forum.qt.io/topic/52546/tuto-build-qt-to-cross-compile-for-arm/2
I'll give it a try! -
HI, sorry to bother you again. I crosscompiled everything like explained:https://forum.qt.io/topic/52546/tuto-build-qt-to-cross-compile-for-arm/2
With the qtcreator 5.4.1 i choose at build&run the libaries for qt4.8.5 und arm-linux-gnueabihf-g++ . If i run it everything gets compiled, no errors occure.
Then i copied the files to a usb stick and try to run it from the usb-stick with: ./example -qws linuxfb but something with bash sh occures... I also tried chmod but nothing changed.
Two questions:
-
list itemThe rest of the board software is compiled with CROSS_COMPILE=arm-none-eabi- : Do i have to compile qt also with arm-none-eabi- or should gcc-linaro-arm-linux-gnulist itemeabihf- also work?
-
Does the qtcreator also needed to be crosscompiled?
-
-
What exact error are you getting ?
Unless you plan to run Qt Creator on your board, no
-
On board the board: -sh: ./example: not found
http://www.bilder-upload.eu/show.php?file=c3cb1b-1430404583.jpg -
What does
file example
return ? -
On the SAM9N12-Linux "file" is not installed but on ubuntu(compiling PC) it says:
benephil: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.1.1, BuildID[sha1]=00493b39dc19cde81d1b1ac906499c24698e97f4, not stripped -
Good, but the thing is, it doesn't seems that the file is copied over to the target
-
Then that's normal, the libraries can't be found, you should write a little bash script that setups the environment for your application to run. Have a look at the Linux Deployment Guide for more details about this
-
Ok so i probably have some libary issues... With crosscompilation everything should be fine? Do i have to write a bash script for those libaries?:
"ldd example"
checking sub-depends for '/usr/lib/libQtGui.so.4'
checking sub-depends for '/usr/lib/libQtNetwork.so.4'
checking sub-depends for '/usr/lib/libQtCore.so.4'
checking sub-depends for '/lib/libpthread.so.0'
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f60000)
libdl.so.0 => /lib/libdl.so.0 (0xb6f54000)
libc.so.0 => /lib/libc.so.0 (0xb6efb000)
checking sub-depends for '/usr/lib/libstdc++.so.6'
checking sub-depends for 'not found'
checking sub-depends for '/lib/libgcc_s.so.1'
checking sub-depends for 'not found'
checking sub-depends for '/usr/lib/libts-1.0.so.0'
checking sub-depends for '/usr/lib/libgthread-2.0.so.0'
checking sub-depends for '/usr/lib/libglib-2.0.so.0'
checking sub-depends for '/usr/lib/libintl.so.8'
checking sub-depends for '/lib/libm.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6ed4000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f2d000)
checking sub-depends for '/lib/libc.so.0'
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f4e000)
checking sub-depends for '/lib/libdl.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6ee9000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f42000)
checking sub-depends for '/lib/librt.so.0'
libc.so.0 => /lib/libc.so.0 (0xb6eda000)
libdl.so.0 => /lib/libdl.so.0 (0xb6ece000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6eb2000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb6f33000)
checking sub-depends for '/usr/lib/libiconv.so.2'
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00000000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00000000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
libm.so.6 => not found (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.6 => not found (0x00000000)
libts-1.0.so.0 => /usr/lib/libts-1.0.so.0 (0x00000000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00000000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00000000)
libintl.so.8 => /usr/lib/libintl.so.8 (0x00000000)
libm.so.0 => /lib/libm.so.0 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
libdl.so.0 => /lib/libdl.so.0 (0x00000000)
librt.so.0 => /lib/librt.so.0 (0x00000000)
/lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
libiconv.so.2 => /usr/lib/libiconv.so.2 (0x00000000)
not a dynamic executable -
-
What distribution is running on your board ?
-
Did you install Qt 4 directly through Buildroot ?
-
Did you also cross-compile Qt using the libraries from Buildroot ?