2016-06-03 30 views
5

Attualmente sto cercando di compilare a croce Qt 5.7 per il mio Raspberry Pi 3. Questo è il mio primo tentativo di cross-compiling, quindi per favore sii gentile. :)Come cross-compilare per RasPi3

Sul Wiki Qt ho trovato instructions for the Raspberry Pi 2, che attualmente sto tentando di adattare.

La linea di compilazione per Raspi 2 è la seguente:

./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 

ho sostituito l'opzione

-device linux-rasp-pi2-g++ 

da

-device linux-rpi3-g++ 

come ho trovato all'interno della cartella raspi-tools.

Ora mi sono bloccato a scelta

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

come nella cartella ~/raspi/tools/ non riesco a vedere una voce, ovviamente, raspi3 legate. C'è solo la cartella arm-bcm2708/. Non dovrebbe esserci qualche entrata bcm2837? Significa che non c'è ancora il supporto per RasPi 3 o mi manca qualcosa?

Grazie per eventuali suggerimenti.

risposta

2

La cartella arm-bcm2708/ è solo un nome. Contiene diverse catene di strumenti di costruzione. Va perfettamente bene anche usare le catene di strumenti installate dal sistema. Così ho installato il pacchetto g++-arm-linux-gnueabihf sulla mia macchina build (Debian GNU/Linux) ed ho usato questa chiamata di configurazione:

./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

Hai provato a compilare ICU anche con questo cross-compilatore? – Mark

+0

@ Mark: Non sei sicuro di cosa intendi. Ho compilato qtbase e una piccola app demo che ho scritto per testare il risultato. – Bugfinger

+0

Ti sto chiedendo se hai compilato anche il QtWebkit che richiede ICU. Questo perché ci sono alcuni problemi con il cross-compilatore ufficiale: https://github.com/raspberrypi/tools/issues/41 – Mark

3

Dopo molta lotta (la soluzione accettata non funziona per me), ho finalmente avuto modo di attraversare la compilazione qt 5.6 per raspberry pi 3 su ubuntu. Fondamentalmente è necessario seguire questo ben noto how to. Basta essere sicuri di utilizzare la seguente configurazione:

./configure -release -opengl ES2 -device linux-rpi3-g ++
-device-opzione CROSS_COMPILE = ~/raspi/strumenti/braccio-bcm2708/gcc- linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -prefix/usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -nomake esempi -nomake test -no-use-gold-linker

+0

Grazie per questo. Lo proverò il prossimo fine settimana e se funziona, segnerò è la soluzione preferita. – Bugfinger

+0

Non capisco -device 'linux-rpi3-g ++' è disponibile solo con qt5.7 giusto? – DeadlyJesus

+0

Ha provato solo con qt 5.6, funziona perfettamente. – fabry