Как собрать qtwebengine из исходного кода Qt 5.5 git

Я выполнил инструкции на этой странице Сборка Qt 5 из Git для сборки Qt 5.5 из исходников. Исходный код находится в "~ / qt5_source_built / qt5", а собранная система Qt 5.5 находится в "~ / qt5_source_built / qt5.5-build". Я использовал следующие параметры конфигурации:

~/qt5_source_built/qt5/configure -developer-build -opensource -no-gtkstyle -nomake examples -nomake tests

а затем использовал make -j4 для сборки системы qt-5.5. Система строится нормально.

Я использую CMake для разработки приложений для собранной системы Qt 5.5. Это работает для обычных случаев (например, можно использовать qtwebkit). Однако, когда я хочу протестировать модуль qtwebengine в новом приложении, я обнаружил, что в каталоге «~ / qt5_source_built / qt5.5-build / qtbase» НЕТ включаемых файлов qtwebengine и файлов библиотеки.

Я попытался переделать систему, используя другие цели:

make all -j4

make module-qtwebengine -j4

make module-qtwebengine-all -j4

но консоль продолжает выводить

... Nothing to be done for ...

а файлы включения и библиотеки qtwebengine по-прежнему НЕ могут быть найдены в каталоге "~ / qt5_source_built / qt5.5-build / qtbase" после повторной сборки.

Я заметил, что исходные файлы qtwebengine, кажется, можно было найти в "~ / qt5_source_built / qt5 / qtwebengine / src", но я просто не мог собрать его с помощью команды "make".

Я просто пропустил файлы включения и библиотеки qtwebengine в каталоге build? Если нет, то кто-нибудь знает, как я могу собрать qtwebengine, используя этот исходный код git Qt 5.5?

Спасибо за любое предложение.


person user1129812    schedule 19.05.2015    source источник


Ответы (1)


Следующее в итоге сработало. Я установил все эти предварительные требования. Если бы они отсутствовали, QtWebEngine не построили бы. make module-qtwebengine обычно распечатывала причину, по которой он его не строил:

sudo apt-get install bison build-essential flex gperf gyp \
    libasound2-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev \
    libegl1-mesa-dev libfontconfig1-dev libgcrypt11-dev \
    libglu1-mesa-dev libicu-dev libnss3-dev libpci-dev libpulse-dev \
    libssl-dev libudev-dev libxcomposite-dev libxcursor-dev \
    libxdamage-dev libxrandr-dev libxtst-dev ninja python ruby

Тогда я использовал следующую конфигурацию. Не уверен, что это минимально, но это сработало:

./configure -release -opensource -confirm-license -shared \
    -no-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype\
    -icu -openssl -qt-xcb -opengl -gui -widgets -skip webkit \
    -nomake examples

Обратите внимание, что я пропустил webkit, а также использую -shared вместо -static, поскольку статическое связывание QtWebEngine, очевидно, еще не поддерживается.

person Claudiu    schedule 12.10.2015
comment
Мне также понадобились libxss-dev и ninja-build вместо ninja. Я также установил следующее, но не уверен, что они строго необходимы (кажется, они все равно включены в qtwebengine, но вместо этого он использует системную библиотеку): libsnappy-dev libsrtp0-dev libpwebp-dev libevent-dev libflac-dev libflac++-dev libjsoncpp-dev libspeex-dev libspeexdsp-dev libopusfile-dev libopus-dev - person ar31; 19.11.2015