воскресенье, 9 августа 2015 г.

Компиляция Qt5 на Raspberry Pi 2

Размещение SWAP файла на внешнем носителе (USB HDD)

Делаю по инструкции https://wiki.qt.io/Native_Build_of_Qt_5.4.1_on_a_Raspberry_Pi

# disable and remove swap file 
sudo dphys-swapfile swapoff 
sudo dphys-swapfile uninstall 
# edit /etc/dphys-swapfile to read 
# #CONF_SWAPSIZE=100 
# CONF_SWAPFILE=/media/usb/swap 
# create and enable new swap file 
sudo dphys-swapfile setup 
sudo dphys-swapfile swapon 
# if you get:
# swapon: /media/usb/swap: read swap header failed: Invalid argument 
# reboot and rerun: 
# sudo mount /dev/sdXX /media/usb 
# sudo mount --bind /media/usb/build/qt-everywhere-opensource-src-5.4.1 /home/pi/opt/qt-everywhere-opensource-src-5.4.1 
# cd ~/opt/qt-everywhere-opensource-src-5.4.1 
# check that a ~2GB swap file is active now 
cat /proc/swaps
Но не выходит. Постоянно /media/usb/swap: read swap header failed: Invalid argument

Решение https://www.raspberrypi.org/forums/viewtopic.php?f=50&t=28384
sudo dd if=/dev/zero of=/media/usb/swap count=2048 bs=1MiB
sudo mkswap /media/usb/swap
sudo dphys-swapfile swapon

Исходники Qt5

Обязательно: скачивать и распаковывать надо не .zip-архив с исходниками Qt, а .tgz.
В зипе все файлы лежат с виндовыми концами строк (что характерно, даже юниксовые скрипты сконвертированы почему-то), в таргазипе — все файлы лежат с юниксовыми концами строк.

Устанавливаю компилятор GCC 4.9

sudo apt-get update
sudo apt-get upgrade
Next, open /etc/apt/sources.list in your favorite text editor and replace wheezy with jessie:
sudo nano /etc/apt/sources.list
Update your package list:
sudo apt-get update
and, finally, install GCC 4.9
sudo apt-get install gcc-4.9 g++-4.9
Last step is to revert back from Jessie to Wheezy, open /etc/apt/sources.list and replace jessie withwheezy, after that do an update of your package list:
sudo vim /etc/apt/sources.list
sudo apt-get update
Меняю версию GCC на версию 4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 10
Убеждаюсь, что GCC версии 4.9
gcc --verbose --version

Настраиваю

Собираю qmake
./configure -v -opengl es2 -tslib -force-pkg-config -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/usr/bin/ -opensource -confirm-license -optimized-qmake -reduce-exports -release -qt-pcre -make libs -make tools -nomake examples -prefix /media/usb/qt5 2>&1 | tee config.out
-reduce-exports можно убрать, если ругается на него.

Дальше по инструкции.

Комментариев нет :

Отправить комментарий