Сбой кросс-компиляции QtWebEngine для встроенного Linux

Я пытаюсь кросс-компилировать свой настольный проект на Raspberry Pi. В моих проектах используется Qt 5.6 и QtWebEngine. Я следовал этому руководству: RaspberryPi2EGLFS Он работает без частей, использующих webengine, но я не могу использовать модуль WebEngine. потому что я не могу его скомпилировать. Это дает мне это:

gyp: Undefined variable clang_dir in /Users/aeron/raspi/qtwebengine/src/core/core_generated.gyp
gyp: Undefined variable clang_dir in /Users/aeron/raspi/qtwebengine/src/core/resources/resources.gyp
Project ERROR: -- running gyp_qtwebengine failed --

Я уже пытался вручную вставить пустую переменную, но эти две строчки — лишь верхушка айсберга.

Я тоже получаю эту ошибку, когда беру полный репозиторий qt5 и пытаюсь его скомпилировать.

Обновить

Я добился некоторого прогресса. С правкой qtwebengine/src/core/config/embedded_linux.pri мне удалось решить проблему clang_dir. Я только что добавил строку clang_dir=0 в конец списка переменных.

Но есть еще одна проблема того же рода:

gyp: Undefined variable c_sources in /Users/aeron/raspi/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/ffmpeg.gyp
Project ERROR: -- running gyp_qtwebengine failed --

Как я могу решить эту проблему? Или как я могу отключить ffmpeg часть веб-движка, я все равно не планирую его использовать...

Обновление 2

Теперь он думает, что я решил проблему с ffmpeg. Способ: в файле src/3rdparty/chromium/third_party/ffmpeg/ffmpeg.gyp я установил use_system_ffmpeg в 1.

Теперь у меня новая проблема:

Updating projects from gyp files...
gyp: Dependency '/Users/aeron/raspi/qtwebengine/src/3rdparty/chromium/base/base.gyp:symbolize#host' not found while trying to load target /Users/aeron/raspi/qtwebengine/src/3rdparty/chromium/base/base.gyp:base#host
Project ERROR: -- running gyp_qtwebengine failed --

Так что все равно не компилируется.


person user3853774    schedule 14.05.2017    source источник


Ответы (1)


Вероятно, это не то, что вы хотите услышать, но QWebEngine официально не поддерживается на Pi.

Из https://doc.qt.io/qt-5/qtwebengine-platform-notes.html#all-platforms

«В Linux требуется Clang или GCC версии 4.7 или новее. Поддерживаемые конфигурации: linux-g++ и linux-clang».

Однако я точно знаю, что его можно кросс-компилировать (я делал это на Ubuntu 16) для Qt 5.7.1 и Qt5.8.0, но только если настроить для устройства "linux-rasp-pi2-g++", а не для «linux-rpi3-g++». Его НЕ МОЖЕТ быть собрано для Qt5.9.0.

Обратите внимание, что Qt5.8.0 имеет плохую производительность OpenGL на Pi. Эта проблема отсутствует в Qt5.7 или 5.9.

С другой стороны, это, вероятно, слишком тяжело для Pi.

person Jimmytaker    schedule 08.06.2017