Raspberry Pi Qt cross-compile

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen


RPI

Download letztes raspian-lite: wget http://downloads.raspberrypi.org/raspbian_latest Auf SD-Karte installieren und auf dem RPI starten. Auf dem RPI:

sudo raspi-config  #Expand Filesystem and change the GPU memory to 128 MB
sudo rpi-update
reboot

Installation Bibliotheken:

sudo nano /etc/apt/sources.list #uncomment the deb-src line
sudo apt-get update
sudo apt-get build-dep qt4-x11
sudo apt-get build-dep libqt5gui5
sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0

Zielverzeichnis anlegen:

sudo mkdir /usr/local/qt5pi
sudo chown pi:pi /usr/local/qt5pi

RPI Image mount

Image von SD-Karte ziehen oder direkt von SD-Karte mounten.
sudo mkdir /mnt/rasp-pi-rootfs

Mount: Raspberry Pi mount image Partition 2: 512 * 122880 = 62914560

sudo mount -o loop,offset=62914560 raspian.img /mnt/rasp-pi-rootfs

cross compile toolchain

Arbeitsverzeichnis

Arbeitsverzeichnis anlegen:

sudo mkdir /opt/qtVERSION
cd /opt/qtVERSION

RPI tools

Download RPI tools:

git clone https://github.com/raspberrypi/tools

sysroot

Erstellen des sysroot verzeichnisses und syncronisation mit raspian-image sysroot verzeichnisses:

mkdir sysroot sysroot/usr sysroot/opt
rsync -avz /mnt/rasp-pi-rootfs/lib sysroot
rsync -avz /mnt/rasp-pi-rootfs/usr/include sysroot/usr
rsync -avz /mnt/rasp-pi-rootfs/usr/lib sysroot/usr
rsync -avz /mnt/rasp-pi-rootfs/opt/vc sysroot/opt

Symlinks

Symlinks relativ anpassen:

wget https://raw.githubusercontent.com/Kukkimonsuta/rpi-buildqt/master/scripts/utils/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
./sysroot-relativelinks.py sysroot

Qt