2016-06-03 17 views
5

Ich versuche derzeit Qt 5.7 für meinen Raspberry Pi 3 zu kompilieren. Dies ist mein erster Cross-Compiling-Versuch, also bitte sei nett. :)Cross-kompilieren für RasPi3

Auf dem Qt Wiki habe ich instructions for the Raspberry Pi 2 gefunden, die ich gerade versuche anzupassen.

Die Kompilierung Linie für Raspi 2 wie folgt:

./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option \ 
CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- \ 
-sysroot ~/raspi/sysroot -opensource -confirm-license -make libs \ 
-prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v 

ich die Option

ersetzt
-device linux-rasp-pi2-g++ 

von

-device linux-rpi3-g++ 

als ich im raspi-tools Ordner gefunden.

Jetzt

CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- 

wie im ~/raspi/tools/ Ordner nach Wahl stecken Ich bin ich keine offensichtlich raspi3 bezogenen Eintrag sehen können. Es gibt nur den Ordner . Sollte es keinen bcm2837 Eintrag geben? Bedeutet das, dass RasPi 3 noch nicht unterstützt wird oder fehlt mir etwas?

Vielen Dank für Hinweise.

Antwort

2

Der Ordner ist nur ein Name. Es enthält mehrere Build-Tool-Ketten. Es ist völlig in Ordnung, systeminterne Toolketten zu verwenden. So installierte ich das Paket g++-arm-linux-gnueabihf auf meinem Build-Rechner (Debian GNU/Linux) und verwendet, um diesen configure Aufruf:

./configure -release -opengl es2 -device linux-rpi3-g++ \ 
    -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \ 
    -sysroot /home/fs/raspi/sysroot -opensource -confirm-license \ 
    -make libs -prefix /usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi \ 
    -hostprefix /home/fs/raspi/qt5 -v 
+0

Haben Sie versucht, ICU auch mit diesem Cross-Compiler zu kompilieren? – Mark

+0

@Mark: Nicht sicher, was du meinst. Ich habe qtbase und eine kleine Demo-App kompiliert, die ich geschrieben habe, um das Ergebnis zu testen. – Bugfinger

+0

Ich frage, ob Sie auch das QtWebkit kompiliert haben, das ICU erfordert. Dies liegt daran, dass es einige Probleme mit dem offiziellen Cross-Compiler gibt: https://github.com/raspberrypi/tools/issues/41 – Mark

3

Nach langen Kampf (die akzeptierte Lösung nicht für mich arbeiten), Ich habe endlich zu überqueren qt kompilieren 5.6 für raspberry pi 3 auf ubuntu. Sie müssen grundsätzlich diesem bekannten how to folgen. Nur sicher sein, die folgenden configure verwenden:

configure -release -opengl es2 -device linux-rpi3-g ++
-device-Option CROSS_COMPILE = ~/Raspi/tools/Arm-bcm2708/GCC linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnuabihf- -sysroot ~/raspi/sysroot -prefix/usr/lokal/qt5pi-extprefix ~/raspi/qt5pi-hostpräfix ~/raspi/qt5 -v -nomake examples -nomake test -no-use-gold-linker

+0

Vielen Dank dafür. Ich werde es am nächsten Wochenende versuchen und wenn es funktioniert, werde ich markieren, ist die bevorzugte Lösung. – Bugfinger

+0

Ich verstehe es nicht -device 'linux-rpi3-g ++' ist nur mit qt5.7 richtig? – DeadlyJesus

+0

Es versuchte nur mit Qt 5.6, es funktioniert gut. – fabry

Verwandte Themen