QtWebEngine/How to Try: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(note that qtwebengine doesnt work with static builds)
(codeblock)
 
(7 intermediate revisions by 4 users not shown)
Line 10: Line 10:


While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine.
While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine.
Note: That in case you have the 64-bit Linux host, you need to install an adidtional 32-bit multilib packages (at least: linux-libc-dev:i386, linux-headers-xxx:i386).


=== Installing dependencies on Ubuntu ===
=== Installing dependencies on Ubuntu ===
<code>
<code>
sudo apt-get install bison build-essential gperf flex ruby python libasound2-dev libbz2-dev libcap-dev \
sudo apt-get install bison build-essential gperf flex python2 libasound2-dev \
libcups2-dev libdrm-dev libegl1-mesa-dev libgcrypt11-dev libnss3-dev libpci-dev libpulse-dev libudev-dev \
libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev nodejs \
libxtst-dev gyp ninja-build</code>
libxtst-dev gyp ninja-build</code>


=== Installing additional dependencies on Ubuntu 16.04 ===
=== Installing additional dependencies on Ubuntu 20.04+ ===
<code>
''(To save a bit time compiling the bundled variants from qtwebengine.git)''<code>
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \
libfontconfig1-dev libxss-dev libsrtp0-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev \
libfontconfig1-dev libxss-dev libsrtp0-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev \
libavutil-dev libavformat-dev libavcodec-dev libevent-dev</code>
libavutil-dev libavformat-dev libavcodec-dev libevent-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler</code>


Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used.
Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used.
Line 33: Line 35:
</code>
</code>


To build a release build (generally recommended) do:
To build a release build (generally recommended) do:<syntaxhighlight lang="bash">
qmake -r CONFIG+=release
qmake -r CONFIG+=release
</syntaxhighlight>
=== Installing dependencies on openSUSE ===
<code>
sudo zypper install Mesa-libEGL-devel libgcrypt-devel libgcrypt20 pciutils-devel xmlsec1-nss-devel libXtst-devel gperf cups-devel libpulse-devel pulseaudio-qt-devel libgudev-1_0-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby nodejs17 nodejs17-devel nodejs-common npm17 libqt5-qtsvg-devel libqt5-qtsvg-private-headers-devel
</code>


=== Building ===
=== Building ===

Latest revision as of 11:07, 8 November 2023

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

The QtWebEngine can't be build statically. When a static build is started it will just skip over this part with the message "Static builds of QtWebEngine aren't supported." and continue with the build.

Get the code

The source code for QtWebEngine can be found at http://code.qt.io/cgit/qt/qtwebengine.git/ .

Building QtWebengine

For Windows see here

While this is hidden away in our build system, the build relies on gyp and ninja (fetched along with the chromium sources) to build chromium, hence a build dependency to python, in addition to the usual Qt5 suspects. You currently need at least Qt 5.4 to build QtWebEngine.

Note: That in case you have the 64-bit Linux host, you need to install an adidtional 32-bit multilib packages (at least: linux-libc-dev:i386, linux-headers-xxx:i386).

Installing dependencies on Ubuntu

sudo apt-get install bison build-essential gperf flex python2 libasound2-dev \
libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev nodejs \
libxtst-dev gyp ninja-build

Installing additional dependencies on Ubuntu 20.04+

(To save a bit time compiling the bundled variants from qtwebengine.git)

sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev \
libfontconfig1-dev libxss-dev libsrtp0-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev \
libavutil-dev libavformat-dev libavcodec-dev libevent-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler

Please note that these libraries need to be installed on other distributions as well, though the package names and the set of libraries that are preinstalled may differ depending on the distribution used.

Installing dependencies on Fedora

sudo yum install "qt5-*" 

sudo yum install mesa-libEGL-devel libgcrypt-devel libgcrypt pciutils-devel nss-devel libXtst-devel gperf
cups-devel pulseaudio-libs-devel libgudev1-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby

To build a release build (generally recommended) do:

qmake -r CONFIG+=release

Installing dependencies on openSUSE

sudo zypper install Mesa-libEGL-devel libgcrypt-devel libgcrypt20 pciutils-devel xmlsec1-nss-devel libXtst-devel gperf cups-devel libpulse-devel pulseaudio-qt-devel libgudev-1_0-devel systemd-devel libcap-devel alsa-lib-devel flex bison ruby nodejs17 nodejs17-devel nodejs-common npm17 libqt5-qtsvg-devel libqt5-qtsvg-private-headers-devel

Building

In case you cloned Qt WebEngine as a separate module from git, you might need to initialize out the src/3rdparty submodule that contains the Chromium and Ninja code:

cd qtwebengine
git submodule update --init

Ensure that your $PATH points to a python version 2 binary. Many systems these days use python 3 by default.

Make:

qmake -r
make
sudo make install