Кросс-компиляция QtWebEngine для Raspberry Pi 4

Я использую qt -where-src-5.15.0.tar.xz и gcc-linaro-7.4.1-2019.02-x86_64_arm- linux-gnueabihf в Ubuntu 18 для кросс-компиляции Qt и особенно QtWebEngine.

Я использую следующую конфигурацию:

../qt-everywhere-src-5.15.0/configure \
  -opengl es2 -device linux-rasp-pi4-v3d-g++ \
  -device-option CROSS_COMPILE=~/raspi/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- \
  -sysroot ~/raspi/sysroot \
  -prefix /usr/local/qt5pi \
  -opensource -confirm-license -no-gbm \
  -skip qtscript -skip qtandroidextras -skip qtcanvas3d \
  -skip qtgamepad -skip qtmacextras -skip qtpurchasing \
  -skip qtwinextras -skip qtx11extras \
  -nomake tests -nomake examples -make libs \
  -pkg-config -no-use-gold-linker -v

Если я включу -skip qtwebengine в команду configure, вся компиляция будет работать хорошо, но когда я включаю qtwebengine, конфигурация завершается ошибкой со следующим предупреждением:

WARNING: Could not find all necessary libraries for qpa-xcb support in QtWebEngine.
WARNING: QtWebEngine will not be built.

После некоторого поиска я знаю причину этого предупреждения. QtWebEngine использует pkg-config, чтобы получить необходимые библиотеки (например, xtst, xcomposite, ...) и взять библиотеки в моей хост-системе вместо использования скопированных пакетов из raspberry.

Как мне настроить его, чтобы использовать скопированные файлы из raspberry sysroot?


person Walter    schedule 27.07.2020    source источник


Ответы (1)


Если кажется, что отсутствуют только библиотеки xtst, xcomposite, xi и т. Д., Они находятся на Pi в / usr / share. Таким образом, ваш системный корневой каталог также должен синхронизировать эту папку.

person Andy    schedule 11.08.2020
comment
Да ты прав. Если я синхронизирую папку / usr / share с моим системным корневым каталогом, конфигурация работает хорошо, и QtWebEngine должен быть включен. Но если я затем продолжу "make", в конце у меня будет ошибка, и я обнаружу в журнале следующую ошибку: arm- ›linux-gnueabihf-g ++: внутренняя ошибка компилятора: убита (программа cc1plus) - person Walter; 13.08.2020