Кросскомпиляция Qt 5.9 и Qt 5.12 для Raspberry Pi 1, Raspberry Pi 3 (B+)

raspberry pi

Пока в разгаре новогодние праздники захотелось попробовать в действии Raspberry Pi (Здесь для модели 3 B+, но так же подходит и для 1,2), а именно чего-нибудь для неё написать, хотя бы Hello World с помощью Qt. Ставить весь Qt на саму малинку как-то долго, да и пока на ней компилируется простейшая программа можно упиться в усмерть, поэтому будем настраивать кроссс-компиляцию, что бы всю разработку вести на своём пк (Ubuntu 16.10  x64).

Приступаем.

[tip]Обновлено для Qt 5.9.1 и Raspbian 2017-09-08 Stretch для Raspberry PI3 Model B[/tip] [tip]Обновлено для Qt 5.12.2 и Raspbian 2018-11-13 Stretch под Raspberry PI3 Model B+ [/tip]

1. Первым делом необходимо скачать образ ОС для малинки, это будет raspbian (можно и Lite (без X), тогда получится сделать «kiosk mode») и залить её на SD карточку, которая уже должна быть воткнута.

mkdir ~/Projects/RaspberryPI 
cd ~/Projects/RaspberryPI 
wget https://downloads.raspberrypi.org/raspbian_latest # Обычный
#Если нужен облёгчённый, бек иксов: wget https://downloads.raspberrypi.org/raspbian_lite_latest
unzip raspbian_latest  
#unzip raspbian_lite_latest
sudo dd if=2018-11-13-raspbian-stretch.img of=/dev/mmcblk0 bs=4M 
#sudo dd if=2018-11-13-raspbian-stretch-lite.img of=/dev/mmcblk0 bs=4M 
sync
[tip]Что бы узнать адрес флэшки, наберите lsblk[/tip]

Если так случалось, что нет картридера, то залить прошивку можно и на винде с помощью win32diskimager (запускать от рута)

2. Когда заливка завершиться, вытаскиваем СДшку и загружаем с неё малинку.

Теперь её немножко надо настроить, переходим Menu -> Preferences -> Raspberry Pi configuration. 
Либо в консольке(Menu->Accessories->Terminal) :

sudo raspi-config

Расширяем систему на весь объём флэшки: Advanced options->expand filesystem,
включаем ssh в Interfacing options,
подрубаемся к wifi, 
в Advanced options->GL Driver включаем GL (Full KMS) и перезагружаемся.

Вбиваем в консольке ifconfig, запоминаем айпишник, на этом пока что всё.

Кстати, о настройке WIFI raspbian из консоли (если без графического интерфейса, т.е. lite версия):

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
#Дописываем:
network={
    ssid="The_ESSID_from_earlier"
    psk="Your_wifi_password"
}

#Выходим с сохранением и перезагружаемся:
sudo reboot

3. Приконнектимся к малинке по ssh, раскомментим получение исходников пакетов, установим нужные пакеты и создадим нужные папки

ssh pi@192.168.2.101 (пароль по дефолту "raspberry")
sudo nano /etc/apt/sources.list  #расскомментить строчку с deb-src
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update #Обновим ядро и прочее основное
reboot
sudo apt-get install -y libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0
sudo apt-get install -y libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev
sudo apt-get install -y libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync1 libxcb-sync-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev libxcb-xinerama0-dev
sudo apt-get install -y build-essential libgl1-mesa-dev freeglut3 freeglut3-dev mesa-common-dev libglapi-mesa libosmesa6 mesa-utils
sudo apt-get install -y libwayland-egl1-mesa libraspberrypi-dev  freeglut3-dev freeglut3   libegl1-mesa libegl1-mesa-dev libegl1-mesa-drivers libepoxy-dev libepoxy0 libgbm-dev  libgbm1  libgegl-0.3-0  libgegl-dev libva-egl1 mesa-utils-extra
sudo apt-get install -y libraspberrypi0 libva-egl1 libegl1-mesa libegl1-mesa-drivers gegl 
sudo apt-get install -y libglfw3-dev libgles2-mesa-dev
sudo apt-get build-dep qt4-x11 #ради зависимостей
sudo apt-get build-dep libqt5gui5 #ради зависимостей
#Чувствую, большую половину из этого не надо, но я не знаю какую точно т.к. решал проблемы с OpenGL и прочичи либами
sudo mkdir /usr/local/qt5pi
sudo chmod -R 777 /usr/local/qt5pi

4. Так, возвращаемся к хосту, качаем тулчейн:

mkdir raspi
cd raspi
git clone https://github.com/raspberrypi/tools

5. Создаём sysroot и через rsync синхронизируем его с малиновым, что бы оттуда взять заголовочники, либы и компилятор

IP=192.168.2.101 # айпишник малинки
rsync -avz pi@$IP:/lib sysroot # опять идём пить кофе
rsync -avz pi@$IP:/usr/include sysroot/usr
rsync -avz pi@$IP:/usr/lib sysroot/usr # можно сходить просраться
rsync -avz pi@$IP:/opt/vc sysroot/opt

6. Дальше необходимо поправить символьные ссылки, что бы они были относительно нашей скопированной sysroot, для этого есть готовый скриптик, качаем и запускаем:

wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
./sysroot-relativelinks.py sysroot

7. Теперь можно склонировать Qt, сконфигурировать и запустить на компиляцию

git clone git://code.qt.io/qt/qt5.git QtSources
cd QtSources
perl init-repository
git checkout 5.12 # Если нужно 5.9, то проверял с 5.9.1
git submodule update --recursive


BASEPATH=~/Projects/RaspberryPI/raspi # базовый путь, где все наши манипуляции происходят (без слэша на конце)
./configure -skip wayland -skip script -skip webengine -no-pch -no-kms -no-xcb -no-use-gold-linker -nomake tests -nomake examples -reduce-exports -eglfs  -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=$BASEPATH/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot $BASEPATH/sysroot -opensource -confirm-license -make libs -prefix $BASEPATH/qt5pi -extprefix $BASEPATH/qt5pi -hostprefix $BASEPATH/qt5 -v
make -j4 # и поспим часик (4 - количество ядер проца, для ускорения)
make install

Чтиво по некоторым фичам: https://doc.qt.io/qt-5/embedded-linux.html, https://doc.qt.io/archives/qt-5.8/configure-options.html, https://doc.qt.io/qt-5/linux-requirements.html, https://doc.qt.io/archives/qt-4.8/configure-options.html

[tip]Если возникли ошибки при сборке и нужно переконфигурировать с другими параметрами, не забудьте удалить предыдущий результат, набрав «git clean -dxf»  и «make clean» иначе будет ещё хуже =) [/tip] [tip]Для Qt < 5.9.1 нужен -device linux-rpi3-g++[/tip] [tip]При конфигурации отключён QtWebKit! Для Qt < 5.10 нужно указывать «-skip webkit»     Кому нужен уберите «-skip webengine».  [/tip] [tip]Возможно, нужно так же указать -qt-xcb (и убрать -no-xcb), что бы нормально работали QWidgets, у меня же все приложения только с QML. Так же нужно указать  «-platform xcb»  если у вас gui версия (обычная, а не lite)[/tip] [warning]При ошибке с JavaScriptCore/wtf/Platform.h:370:6: error: #error «Not supported ARM architecture» добавьте к конфигурации «-skip script» или добавьте к make флаг:»make CFLAGS=»${CFLAGS}-D__ARM_ARCH_7M__»»  (взял из /3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h)[/warning] [warning]При ошибке с PCRE2: PCRE2_CODE_UNIT_WIDTH, LINK_SIZE и прочие мессаджы с ней связанные  (отвечает за регулярные выражения)  можно либо отключить ( в конфиге «-no-pcre»), но почему-то у меня не было такого параметра,
либо прописать все дефайны вручную: make CFLAGS=»${CFLAGS} -ldl -DPCRE2_CODE_UNIT_WIDTH=16 -DHAVE_INTTYPES_H=1 -DHAVE_MEMMOVE=1 -DHAVE_LIMITS_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DLINK_SIZE=2 -DMATCH_LIMIT=10000000 -DMATCH_LIMIT_RECURSION=10000000 -DMAX_NAME_COUNT=10000 -DMAX_NAME_SIZE=32 -DNEWLINE_DEFAULT=2 -DPARENS_NEST_LIMIT=250 -DSUPPORT_UNICODE»  причина этому — почему-то не подключается файл config.h (Расположен qtbase/src/3rdparty/pcre2/src/config.h), где прописаны все эти дефайны. [/warning] [warning]При ошибке с zlib, можно её отключить -no-zlib (скорее всего каких-то либ на хосте нехватает, но т.к. мне было не важно, не стал разбираться, остальных проблем хватило)[/warning] [warning]При ошибке «ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.» ИЛИ «In function `QEGLPlatformContext::getProcAddress(char const*)’:
qeglplatformcontext.cpp:(.text+0xa4): undefined reference to `dlsym'»  для Raspbian Stretch нужно подредактировать nano ./qtbase/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf  и изменить названия либ «-lEGL» и «-lGLESv2» на «-lbrcmEGL» и «-lbrcmGLESv2» так как названия в /opt/vc/lib/ отличаются.

Возможно лучше будет использовать в -device «linux-rasp-pi3-vc4-g++»

Так же возможна проблема с тем, что  EGLFS Raspberry Pi ………………. no, в таком случае файлик нужно поправить, указав правильные пути.
Моя версия:
[spoiler]

include(../common/linux_device_pre.conf)

QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib

QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2

QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/opt/vc/include \
$$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \
$$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}

QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2

QMAKE_INCDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/include
QMAKE_LIBDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBS_BCM_HOST = -lbcm_host

DISTRO_OPTS += deb-multi-arch
DISTRO_OPTS += hard-float

QMAKE_CFLAGS += -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8

QMAKE_CXXFLAGS = $$QMAKE_CFLAGS

EGLFS_DEVICE_INTEGRATION = eglfs_brcm

include(../common/linux_arm_device_post.conf)

load(qt_config)

[/spoiler] [/warning] [warning]В случае ошибки «error: invalid use of incomplete type ‘X509 {aka struct x509_st}’«, то это баг Qt: https://bugreports.qt.io/browse/QTBUG-52905. Исправления будут в версии 5.10, так что либо отключайте ssl при конфигурации: «-no-openssl» либо даунгрейдите openssl до 1.0[/warning]

8. Теперь закинем на малинку скомпилированные библиотеки и заголовочники Qt:

cd ../
rsync -avz qt5pi pi@$IP:/usr/local

9. Ну и можно собрать пример и закинуть на малинку:

cd QtSources/qtbase/examples/opengl/qopenglwidget
$BASEPATH/qt5/bin/qmake
make
scp qopenglwidget pi@$IP:/home/pi

10. На девайсе необходимо дать знать линковщику о наших либах, а так же создать qt.conf в папке, откуда будем запускать все Qt приложения:

ssh pi@192.168.2.101 (пароль по дефолту "raspberry")
echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/00-qt5pi.conf
echo QT_PLUGIN_PATH=/usr/local/qt5pi/plugins/ | sudo tee -a /etc/environment
echo QT_QPA_FONTDIR=/usr/share/fonts/truetype/dejavu | sudo tee -a /etc/environment
printf "[Paths]\nPlugins=/usr/local/qt5pi/plugins\nQml2Imports=/usr/local/qt5pi/qml" | sudo tee ~/qt.conf
cd /usr/local/qt5pi/lib
sudo ldconfig
[warning]При проблеме «QFontDatabase: Cannot find font directory /home/pi/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from http://dejavu-fonts.org for example) or switch to fontconfig.»  нужно указать, где лежат шрифты, для этого добавим переменную окружения (выше уже добавлена) : «echo QT_QPA_FONTDIR=/usr/share/fonts/truetype/dejavu | sudo tee -a /etc/environment» видимо какую-то опцию забыл в конфиге добавить, наверное «-fontconfig«. [/warning]

Перезагружаем малинку.

11. Но запускать ещё рано, у rasbian по дефолту грузиться mesa драйвер и opengl пахать не будет по нормальному, поэтому заставим её использовать нужный:

[warning]Не факт! Сначала всё таки лучше попробовать запустить =)[/warning]
sudo rm /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
sudo ln -s /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0
sudo ln -s /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
sudo ln -s /opt/vc/lib/libEGL.so /opt/vc/lib/libEGL.so.1
sudo ln -s /opt/vc/lib/libGLESv2.so /opt/vc/lib/libGLESv2.so.2

Вот теперь наконец-то можно запустить пример! Он на малинке /home/pi/qopenglwidget

[tip] Если не запускается, в консольке прописываем
export QT_LOGGING_RULES=qt.qpa.*=true
./qopenglwidget

И гуглим ошибки.

Если совсем не запускается, то прописываем:

ldd ./qopenglwidget

И смотрим по правильному адресу ли лежат библиотеки и всех ли хватает. Потом гуглим на тему ldconfig.

Если будет в выводе:

* failed to add service - already in use?

То подправим файлик «sudo nano /boot/config.txt», убрав «dtoverlay=vc4-kms-v3d» (или закомментировать) и перезагрузиться.

Возможно, стоит при конфигурации указать «-device linux-rasp-pi3-vc4-g++» (при необходимости подправить названия библиотек).

[/tip]

12. С этим разобрались, теперь настроим QtCreator что бы можно было компилить и запускать на малинке в один клик:

12.1. Параметры->Устройства->Добавить
Обычное Linux-устройство
название на свой вкус и цвет
вводим айпишник, логин и пароль
завершить

12.2. Параметры->Сборка и запуск->Компиляторы->Добавить
GCC -> C++
Название: Raspberry PI3 GCC
Путь: /home/pavelk/Projects/RaspberryPI/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++

12.3. Параметры->Сборка и запуск->Отладчики->Добавить
Название: Raspberry PI3 GDB
Путь: /home/pavelk/Projects/RaspberryPI/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gdb

12.4. Параметры->Сборка и запуск->Профили Qt->Добавить
Название: Qt 5.9.1 Raspberry PI3
Путь: /home/pavelk/Projects/RaspberryPI/qt5/bin/qmake

12.5. Параметры->Сборка и запуск->Комплекты->Добавить
Название: Raspberry PI3
Тип устройства: Обычное Linux-устройство
Устройство: выбираем добавленное из первого шага
Компилятор C++: Raspberry PI3 GCC
Отладчик: Raspberry PI3 GDB
Профиль Qt: Qt 5.9.1 Raspberry PI3

12.6. Нажимаем «Применить».

14. Создаём новый проект, в *.pro файл добавляем:

INSTALLS        = target
target.path     = /home/pi

Компилим и после завершения проект должен запуститься на малинке.

Вот как-то так в общем =)

P.S. Большая часть была взята с https://wiki.qt.io/RaspberryPi2EGLFS с моими небольшими правками — думал всё сложнее будет =)

Related posts

QML Сделать задержку перед началом анимации

QtCreator не открывает диалог выбора файлов, проектов, не открывает проект

Сборка Qt 6.8 (Dev) из исходников в Docker контейнере (Linux)

48 комментариев

Mchertz 3 июля 2024 - 11:13
Поставил последнюю версию ОС (Raspberry Pi OS with desktop 32 bit от March 15th 2024) на PI 3 B. В каталоге /opt/vc/lib/ нет библиотек libGLESv2.so и libGLESv2.so : pi@raspberrypi:~ $ ls /opt/vc/lib/ libbcm_host.so libdebug_sym_static.a libmmal_components.so libvchostif.a libbrcmEGL.so libdtovl.so libmmal_core.so libvcilcs.a libbrcmGLESv2.so libEGL_static.a libmmal.so libvcos.so libbrcmOpenVG.so libelftoolchain.so libmmal_util.so libvcsm.so libbrcmWFC.so libGLESv2_static.a libmmal_vc_client.so pkgconfig libcontainers.so libkhrn_client.a libopenmaxil.so plugins libdebug_sym.so libkhrn_static.a libvchiq_arm.so Там есть libbrcmGLESv2.so и libbrcmEGL.so и статическре версии библиотек libEGL_static.a и libGLESv2_static.a . соответственно этап № 11 невозможно выполнить. Можно здесь создать символьные ссылки на libbrcmGLESv2.so и libbrcmEGL.so с названиями libGLESv2.so и libEGL.so? или нужно править профиль qmake.conf? а если его править то нужно ли еще флаги компиляции дополнительные применять? собираю qt 5.14.2. после конфигурирования с флагами ./configure -skip wayland -skip qtwebengine -skip script -qt-xcb -no-pch -no-kms -no-use-gold-linker -nomake tests -nomake examples -reduce-exports -eglfs -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=$BASEPATH/tools/arm-bcm2708/gcc-linaro-6.3.1/bin/arm-linux-gnueabihf- -sysroot $BASEPATH/sysroot -opensource -confirm-license -make libs -prefix $BASEPATH/qt5pi -extprefix $BASEPATH/qt5pi -hostprefix $BASEPATH/qt5 -v выдает следующее Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++14 Using ccache ........................... no Using new DTAGS ........................ yes Relocatable ............................ yes Using precompiled headers .............. no Using LTCG ............................. no Target compiler supports: NEON ................................. yes Build parts ............................ libs Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... no Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... no Using system zlib ...................... yes Zstandard support ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... yes iconv .................................. no ICU .................................... yes Built-in copy of the MIME database ..... yes Tracing backend ........................ Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no PCRE2 .................................. yes Using system PCRE2 ................... no Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes DTLS ................................... yes OCSP-stapling .......................... yes SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... yes PNG .................................. yes Using system libpng ................ yes Text formats: HtmlParser ........................... yes CssParser ............................ yes OdfWriter ............................ yes MarkdownReader ....................... yes Using system libmd4c ............... no MarkdownWriter ....................... yes EGL .................................... yes OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ yes OpenGL ES 3.1 ........................ yes OpenGL ES 3.2 ........................ yes Vulkan ................................. yes Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... no INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... no QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... no EGLFS i.Mx6 Wayland .................. no EGLFS RCAR ........................... no EGLFS EGLDevice ...................... no EGLFS GBM ............................ no EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ no LinuxFB ................................ yes VNC .................................... yes XCB: Using system-provided XCB libraries .. no XCB XKB .............................. yes XCB XInput ........................... yes Native painting (experimental) ....... no GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... no Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt Testlib: Tester for item models ................. yes Serial Port: ntddmodm ............................... no Qt SerialBus: Socket CAN ............................. yes Socket CAN FD .......................... yes SerialPort Support ..................... yes Further Image Formats: JasPer ................................. no MNG .................................... no TIFF ................................... yes Using system libtiff ................. yes WEBP ................................... yes Using system libwebp ................. no Qt QML: QML network support .................... yes QML debugging and profiling support .... yes QML just-in-time compiler .............. yes QML sequence object .................... yes QML XML http request ................... yes QML Locale ............................. yes Qt QML Models: QML list model ......................... yes QML delegate model ..................... yes Qt Quick: Direct3D 12 ............................ no AnimatedImage item ..................... yes Canvas item ............................ yes Support for Qt Quick Designer .......... yes Flipable item .......................... yes GridView item .......................... yes ListView item .......................... yes TableView item ......................... yes Path support ........................... yes PathView item .......................... yes Positioner items ....................... yes Repeater item .......................... yes ShaderEffect item ...................... yes Sprite item ............................ yes QtQuick3D: Assimp ................................. yes System Assimp .......................... no Qt Scxml: ECMAScript data model for QtScxml ...... yes Qt 3D: Assimp ................................. yes System Assimp .......................... no Output Qt3D Job traces ................. no Output Qt3D GL traces .................. no Use SSE2 instructions .................. no Use AVX2 instructions .................. no Aspects: Render aspect ........................ yes Input aspect ......................... yes Logic aspect ......................... yes Animation aspect ..................... yes Extras aspect ........................ yes Qt 3D Renderers: OpenGL Renderer ........................ yes Qt 3D GeometryLoaders: Autodesk FBX ........................... no Qt Bluetooth: BlueZ .................................. no BlueZ Low Energy ....................... no Linux Crypto API ....................... no Native Win32 Bluetooth ................. no WinRT Bluetooth API (desktop & UWP) .... no WinRT advanced bluetooth low energy API (desktop & UWP) . no Qt Sensors: sensorfw ............................... no Qt Positioning: Gypsy GPS Daemon ....................... no WinRT Geolocation API .................. no Qt Location: Qt.labs.location experimental QML plugin . yes Geoservice plugins: OpenStreetMap ........................ yes HERE ................................. yes Esri ................................. yes Mapbox ............................... yes MapboxGL ............................. yes Itemsoverlay ......................... yes Qt Multimedia: ALSA ................................... no GStreamer 1.0 .......................... no GStreamer 0.10 ......................... no Video for Linux ........................ yes OpenAL ................................. no PulseAudio ............................. yes Resource Policy (libresourceqt5) ....... no Windows Audio Services ................. no DirectShow ............................. no Windows Media Foundation ............... no Qt TextToSpeech: Flite .................................. no Flite with ALSA ........................ no Speech Dispatcher ...................... no Qt Tools: QDoc ................................... no все ли здесь нормально, на какой параметр надо смотреть? и другой вопрос, если в проекте использоваться будут и widget и qml то необходимо при компиляции указывать и qt-xcb и -eglfs?
Олег 12 января 2022 - 18:03
Добрый день! Спасибо за инструкцию! Подскажите пожалуйста зачем в начале создаем директорию "sudo mkdir /usr/local/qt5pi"? если потом при сборке мы указываем другую директорию "~/Projects/RaspberryPI/raspi/qt5pi"
Pavelk 13 января 2022 - 2:06
Здравствуйте. Пожалуйста. Одна на хосте другая на малинке. Либо может я где ошибся, т.к. пост много очень раз обновлялся уже. Спасибо что заметили. Выделю время и перепроверю.
Ювик 20 октября 2021 - 21:18
Здравствуйте А можете подсказать с такой ошибкой? RpiZW qt5.12.3 EGL Error : Could not create the egl surface: error = 0x300b
Pavelk 20 октября 2021 - 22:50
Здравствуйте. А разве Raspberry Pi Zero W поддерживает OpenGL ES 2.0 ? Если да, то смотрите по логам чему ему не хватает. У меня, к сожалению, нет платы, что бы проверить.
Ювик 21 октября 2021 - 21:15
Вроде как пишут "Fully supports OpenGL-ES 1.1/2.0 and OpenVG 1.1". Там тот же проц что и на Raspberry Pi 1. Сейчас с более старой RaspOS пробую выдаёт "Недопустимая инструкция". Обидно как то =(
Pavelk 22 октября 2021 - 1:35
Увы, с этой ошибкой поможет только ldd по каждой либе и смотреть чего не хватает + включить лог загрузки компонентов Qt. Мне тут добрый человек уже выслал плату, только без W, через неделю придёт попробую собрать.
Ювик 26 октября 2021 - 17:00
Похоже я начал понимать в чём проблема. https://stackoverflow.com/questions/55465118/gcc-8-cross-compiler-outputs-armv7-executable-instead-of-armv6
Владимир 22 июня 2020 - 18:30
Severity Code Description Project File Line Suppression State Warning CMake Warning (dev) in log/CMakeLists.txt: AUTOGEN: No valid Qt version found for target log. AUTOMOC, AUTOUIC and AUTORCC disabled. Consider adding: find_package(Qt COMPONENTS Widgets) to your CMakeLists.txt file. This warning is for project developers. Use -Wno-dev to suppress it. log C:\Work\UniTest\PultPro\ AUTORCC disabled. Consider adding =========================== Severity Code Description Project File Line Suppression State Warning CMake Warning at log/CMakeLists.txt:14 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Widgets", but CMake did not find one. Could not find a package configuration file provided by "Qt5Widgets" with any of the following names: Qt5WidgetsConfig.cmake qt5widgets-config.cmake Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed. log C:\Work\UniTest\PultPro\log/CMakeLists.txt 14
Владимир 22 июня 2020 - 18:27
Добрый день, а вот настроил кросссборку на VS19 ... проект собирается и под Малина чистая, без развернутого QT раньше делали вот так: sudo apt-get install qt5-default ... а сейчас хотелось бы подложить только нужные либы на Малину, ну чтобы только то, что надо, без QTCreator и т.п. хвостой. как корректно выцепить нужные модули и куда их сложить и как настроить CMake?
Andrei 18 мая 2020 - 2:34
В настоящее время широкое распространения получили одноплатники OPI, такие как OPI PC PLUS. Было бы здорово получить инструкцию о кросскомпиляции на OPI. Я попытался следовать этому роководству для armbian на OPI PC PLUS, но не смог решить проблемы с графикой. При этом kmscube запускается, кубик вращается. Конфигурировал ./configure -skip wayland -skip script -skip webengine -no-pch -no-kms -no-xcb -no-use-gold-linker -nomake tests -nomake examples -reduce-exports -eglfs -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/home/andrei/Qt5Sources/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -opensource -confirm-license Очевидно у меня компилятор gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf Потому что я с ноута на Ubuntu 19. Получил: EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Телодвижения делал такие https://visuale.ru/blog/krosskompilyatsiya-qt-5-10-dlya-raspberry-pi3 Шутки ради накатил на OPI PC PLUS ПО Qt Creator из репозитория, создал, собрал и запустил Hello World успешно на самом SBC.
Roma 21 ноября 2019 - 3:25
Здравствуй! Для raspberry pi 4 какой commend нужен?
Pavelk 21 ноября 2019 - 3:28
Доброго дня. Для неё мануал ещё в процессе, т.к. есть множество нерешённых проблем.
Александр 22 ноября 2019 - 16:49
Такой вопрос не знаю как решить. Я запускаю проект на малине через qt creator на хосте все работает, четко, как часы. Когда я запускаю исполняемый файл с малины или через ssh, приложение запускается, дебаг в консоль пишет сообщения, однако вместо экрана с картинкой получаю белый экран.
Алексей 24 августа 2019 - 16:46
Огромное спасибо!!! Долгое время не мог запустить QML на Raspberry, все инструкции были только к старым версиям. Наконец-то кто-то грамотно описал все этапы!
Pavelk 25 августа 2019 - 2:01
Пожалуйста =)
Алексей 22 сентября 2019 - 2:08
Возможно вы знаете, как решить проблему? Приложение на QML, запускается на долюсекунду и затем умирает. В логах выдает следующее: Could not find the Qt platform pllugin "xcb" in "" EGLFS: OpenGL windows cannot be mixed with others.
Pavelk 9 октября 2019 - 4:51
Здравствуйте. Скорее всего, нужно в QML основным компонентом использовать только Window { ... }, а в main.cpp использовать QQmlApplicationEngine.
Andrew 26 августа 2018 - 17:58
Здравствуйте! Ликбез не сработал. 1) Не существует указанная здесь Raspbian 2017-09-07 Stretch, ближайшая Raspbian 2017-09-08 пруф http://downloads.raspberrypi.org/raspbian/images/&#13; На ней получаю ошибку при конфигурации. У меня Raspberry pi 1 ERROR: Feature 'opengles2' was enabled, but the pre-condition 'config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)' failed. ERROR: The OpenGL functionality tests failed! При этом сверху, разумеется, нет поддержки графики EGL .................................... no OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ no OpenGL ES 3.0 ........................ no OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... yes Пытался менять названия либ как тут написано... Пытался отсюда брать названия (+тут ещё конектят OpenVG) https://github.com/ali1234/qtbase/commit/0da9755921397593524bca3bdd508e798736a7f1 В итоге не помогающий файл /home/lin/Music/opt/qt-everywhere-src-5.11.1/qtbase/mkspecs/devices/linux-rasp-pi-g++/qmake.conf такой # qmake configuration for: # - Raspberry PI # - Raspberry PI Zero # http://wiki.qt.io/RaspberryPi&#13; include(../common/linux_device_pre.conf) #QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/li QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2 QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2 QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/opt/vc/include \ $$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \ $$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL} QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL} MAKE_LIBS_EGL = -lbrcmEGL -lbrcmGLESv2 QMAKE_LIBS_OPENGL_ES2 = -lbrcmEGL -lbrcmGLESv2 QMAKE_LIBS_OPENVG = -lbrcmEGL -lbrcmOpenVG -lbrcmGLESv2 contains(DISTRO, squeeze) { #Debian Squeeze: Legacy everything QMAKE_LIBS_OPENGL_ES2 = -lbrcmGLESv2 -lbrcmEGL } else:contains(DISTRO, arch) { #On principle: no wizardry required } else { #This is not strictly necessary DISTRO_OPTS += deb-multi-arch DISTRO_OPTS += hard-float } QMAKE_CFLAGS += \ -marm \ -mfpu=vfp \ -mtune=arm1176jzf-s \ -march=armv6zk \ -mabi=aapcs-linux QMAKE_CXXFLAGS = $$QMAKE_CFLAGS # Preferred eglfs backend EGLFS_DEVICE_INTEGRATION = eglfs_brcm include(../common/linux_arm_device_post.conf) load(qt_config) Ошибка на этапе root@Linux:/home/lin/Music/opt/qt-everywhere-src-5.11.1# ./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=$BASEPATH/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot $BASEPATH/sysroot -opensource -confirm-license -make libs -prefix $BASEPATH/qt-everywhere-src-5.11.1 -extprefix $BASEPATH/qt-everywhere-src-5.11.1 -hostprefix $BASEPATH/qt-everywhere-src-5.11.1 -v Файлы libbrcmEGL.so libbrcmGLESv2.so существуют в /home/lin/Music/opt/sysroot/opt/vc/lib Меня смущает название, мы ведь подключаем "-lbrcmGLESv2" а он как-бы "-libbrcmGLESv2" и т.д. Вот отчёт из консоли https://yadi.sk/i/DS_yNLG13aZoAa&#13; На соседнем ликбезе та же ошибка https://lb.raspberrypi.org/forums/viewtopic.php?t=204529&#13; Была мысль, что мой Raspberry pi 1 (2011) не поддерживает графику, но при sudo raspi-config я назначаю G1 GL (Full KMS) OpenGL desktop driver with full KMS, значит, графика есть. Прошу о помощи.
Pavelk 28 августа 2018 - 2:05
Увы, но помочь я Вам не могу, так как нету первой малинки. Могу разве что посоветовать Qt использовать более ранних версий, например 5.4 или 5.6.
Pavelk 28 августа 2018 - 2:07
А, на первой малинке вообще есть поддержка OpenGL ES 2.0 хотя бы ? По-моему старовата она для него.
Vise 8 ноября 2017 - 9:30
Приветствую. Насчет ошибки undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'. Это говорит о том что на целевой машине версия stdlibc++ сильно отличается от той, что используется при кросскомпиляции. Поэтому после git clone https://github.com/raspberrypi/tools узнаем версию полученного компилятора например /opt/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc -v и видим что то типа gcc версия 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03). После этого заходим на малину по ssh, выполняем gcc -v и видим что то типа gcc version 6.3.0 20170516 (Raspbian 6.3.0-18+rpi1). Сами понимаете собирать компилятором версии 4.8.3 под систему с gcc версии 6.3.0 не самая лучшая идея :))))) Поэтому идем сюда https://releases.linaro.org/components/toolchain/gcc-linaro/ качаем версиюю gcc совпадающую с той что стоит на малинке, правим CROSS_COMPILE=путь к новому компилятору. Вот теперь должно нормально собираться. Еще при запуске приложения на малине бывает полезным указать платформу: ./qopenglwidget --platform xcb. Ну или к примеру --platform wayland. Если вдруг, неожиданно вы нашли дистрибутив с вяленным :)))))
Юрий 3 ноября 2017 - 9:14
Павел, спасибо за статью. Можно попросить обновить ее? Особенно в части ./configure Проблемы начинаются на этапе выбора ветки. 1. По команде git branch -r видим, что ветки 5.9.1 не существует: origin/5.9.0 origin/5.9.3 origin/HEAD -> origin/5.10 2. Похоже, webkit перестал существовать. Поэтому, выполняя ./configure, получаем ошибку: Project ERROR: -skip command line argument used with non-existent module 'qtwebkit'. Просто убрать -skip qtwebkit приводит просто к следующим ошибкам: 3. raspi/Qt59Sources/qtbase/config.tests/arch/arch.cpp:43:19: fatal error: stdio.h: No such file or directory > #include > ^ > compilation terminated. > Makefile:179: recipe for target 'arch.o' failed > make: *** [arch.o] Error 1 Project ERROR: Could not determine target architecture. See config.log for details. Все подкладывания заголовков не помогли. Пробовал все ветки от 5.9 до 5.10 Правда, не пробовал вот что: мой рабочий Qt, установленный на хосте, имеет версию 5.8. Не думаю, что это связано, но сейчас обновлюсь до 5.10. Поможете разобраться? Заранее спасибо.
Pavelk 3 ноября 2017 - 23:57
Пожалуйста. Обновить не могу ибо обновляю только когда сам перехожу на какую-то другую версию, а сейчас в планах пока что нет, извините.
Дмитрий 16 ноября 2017 - 15:02
Я столкнулся с той же проблемой и никак не могу её побороть. Подскажите, пожалуйста, у Вас получилось справиться с данной проблемой?
Михаил 15 октября 2017 - 14:08
МУЖИК! Огромное спасибо! Если можно, скажи куда задонатить! Ей Богу две недели пытался собрать бессонными ночами из-за того, что везде всё либо старые версии либо вообще черт пойми что, пока на одном из форумов на твой пост не скинули ссылку. Завелось всё с первого раза. Шаг 11 не делал, всё запустилось. Ещё раз спасибо!
Дима 20 октября 2017 - 0:27
Михаил можете помочь с кросс компиляцией,собираю что-то да все криво(
Руслан 2 октября 2017 - 19:58
Подскажите, не собирает Qt make: Цель «first» не требует выполнения команд. Info: creating super cache file /home/lnxdx/raspi/Qt59Sources/.qmake.super Command line: -skip wayland -skip webkit -no-xcb -no-icu -nomake tests -nomake examples -c++std 11 -optimized-qmake -reduce-exports -no-pch -release -opengl es2 -device linux-rpi3-g++ -no-use-gold-linker -device-option CROSS_COMPILE=/home/lnxdx/Projects/RaspberryPI/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot /home/lnxdx/Projects/RaspberryPI/raspi/sysroot -opensource -confirm-license -make libs -prefix /home/lnxdx/Projects/RaspberryPI/raspi/qt5pi -extprefix /home/lnxdx/Projects/RaspberryPI/raspi/qt5pi -hostprefix /home/lnxdx/Projects/RaspberryPI/raspi/qt5 -v ERROR: No device matching 'linux-rpi3-g++'.
Pavelk 11 октября 2017 - 5:55
попробуйте вместо linux-rpi3-g++ в конфигурации прописать linux-rasp-pi3-g++.
Руслан 30 июня 2017 - 11:06
Приветствую. Подскажите пожалуйста как в такую сборку добить какой-нибудь модуль? Например мне нужен QSerialPort. Однако несмотря на то что это пятый qt, сериалПорта нигде нет. пробовал устанавливать libqt5serialport5-dev. Не помогло.
Pavelk 11 октября 2017 - 5:59
git clone git://code.qt.io/qt/.git -b cd ~/raspi/qt5/bin/qmake -r make make install и потом скомпиленные либы через rsync закинуть на малинку.
Yuri Zhurakovsky 24 апреля 2017 - 13:58
И первый пример, приведенный в мануале, тоже не запускается: ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5: no version information available (required by ./qopenglwidget) ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5: no version information available (required by ./qopenglwidget) ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: no version information available (required by ./qopenglwidget) Illegal instruction
Pavelk 14 мая 2017 - 23:19
Что-то с ldconfig или qt.conf либо пути не правильные, либо не скопировалось в устройство, либо ld не видит эти файлы. ldd может помочь, вдруг какие зависимости не установились.
Yuri Zhurakovsky 24 апреля 2017 - 13:56
Здравствуйте. Огромное спасибо за мануал. Это реально первый мануал, по которому все собралось. Однако, скомпилировать простейший пример так и не получилось. Про попытке сбилдить простейший консольный HelloWorld вылетает вот такая ошибка: /sysroot/usr/lib/arm-linux-gnueabihf/libicui18n.so.52: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'
Pavelk 14 мая 2017 - 23:18
Удалось повторить, собирайте Qt без ICU: добавить в .configure "-no-icu" в посте обновил.
Yuri Aviator 6 апреля 2017 - 0:35
Хороший мануал. Единственное - надо скопировать папочку с библиотеками qt в sysroot/usr/local. иначе пример собирается с библиотеками qt другой версии, которые уже стояли в образе Raspbiana. pi@raspberrypi:~ $ ldd qopenglwidget ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5: no version information available (required by ./qopenglwidget) ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5: no version information available (required by ./qopenglwidget) ./qopenglwidget: /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5: no version information available (required by ./qopenglwidget)
Pavelk 25 апреля 2017 - 1:30
Это восьмым пунктом как раз делается.
тарас 23 марта 2017 - 23:43
и вот такая в квик котрол2 :-1: ошибка: Не удалось отправить файл «/home/rea/build-untitled-Raspberry_Pi-Debug/untitled».
тарас 23 марта 2017 - 23:40
у меня такая ошибка bash: /home/pi/prob: No such file or directory Приложение завершилось с кодом 127.
@!!ex 21 марта 2017 - 23:03
Спасибо! Слава гуглу, https://wiki.qt.io/RaspberryPi2EGLFS и вам!
reanon 18 марта 2017 - 20:37
добрый день. делаю по этому сануалу вот эту коммаду ./sysroot-relativelinks.py sysroot и получаю вот такую ошибку rea@rea-GA-990XA-UD3:~/raspi$ ./sysroot-relativelinks.py sysroot Replacing /lib/ld-linux-armhf.so.3 with ld-linux-armhf.so.3 for /home/rea/raspi/sysroot/lib/ld-linux.so.3 Traceback (most recent call last): File "./sysroot-relativelinks.py", line 31, in handlelink(filep, subdir) File "./sysroot-relativelinks.py", line 23, in handlelink os.unlink(filep) OSError: [Errno 13] Permission denied: '/home/rea/raspi/sysroot/lib/ld-linux.so.3' подскажите куда копать
Pavelk 29 марта 2017 - 18:38
Что-то с правами доступа. Попробуйте перед запуском линковщика ссылок прописать sudo
TNT 17 февраля 2017 - 16:07
А -prefix не должно быть: /usr/local/qt5pi , как у http://wiki.qt.io/RaspberryPi2EGLFS ?
Pavelk 18 февраля 2017 - 14:51
На ваше усмотрение. Указывая prefix мы говорим куда складывать результат сборки. В посте у меня путь ~/Projects/RaspberryPI/raspi/qt5pi что бы не засирать систему и не бегать искать.
Артур 8 февраля 2017 - 1:04
Разобрался, проблема оказалась в том, что у меня уже QT стоял на плате. Получалось что когда выкачивал сисрут, то библиотеки конфликтовали, поэтому брать чистый образ мегаважно. Спасибо за статью, очень пригодилось
Артур 2 февраля 2017 - 2:12
Приветствую. Пробую повторить все тоже самое, но qt не собирается. Падает в процессе компиляции. Можете дать хоть какую то наводку где мог косякнуть. Посмотрел linaro версии 4.7, qt как и у вас 5.7. sysroot выкачал с малины. Уже что только не пробовал, все равно падает
Pavelk 5 февраля 2017 - 2:26
Какие ошибки?
reanon 19 марта 2017 - 11:18
с предыдущей ошибкой справился. делаю вот это /Projects/RaspberryPI/raspi/Qt57Sources$ ./configure -skip wayland -c++std 11 -skip webkit -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=$BASEPATH/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot $BASEPATH/sysroot -opensource -confirm-license -make libs -prefix $BASEPATH/qt5pi -extprefix $BASEPATH/qt5pi -hostprefix $BASEPATH/qt5 -v -no-use-gold-linker и получаю ошибки очень много. куда копать ? зарание спасибо
Add Comment