C++ Qt 6.*.* for Ubuntu 24.04 Linux aarch64 using GNU.
10K+
Source for image builds is here.
It is built using thecpp-builder.shshell script.
Create a comprehensive Docker-based C++ build environment.
Optional is the Qt library which is custom compiled with the toolchains from this image and can
be downloaded from a Nexus server or your own webserver.
Previously images with the Qt libraries on board were built but were not easy to maintain.
Now Qt libraries are downloaded from a webserver using an environment variable picked up in the entrypoint script.
To speed up the build-process, the container can be started in the background using the --detach option
and attached for executing a command preventing downloading the Qt libraries over and over again.
| Toolchain | Abbrev. | Linux | Windows | Wine | Dckr | Description |
|---|---|---|---|---|---|---|
| GNU aarch64 | gnu | ✓¹ | ✗ | ✗ | ✓ | Native Linux GNU compiler for aarch64) |
Legend:
1 = Only available on Linux aarch64.2 = Only available on Linux x86_64.3 = Not useful, a cross-compiler is available on Linux x86_64.The system enables consistent, reproducible C++ builds across platforms while maintaining developer workflow flexibility.
The build.py script from the CMake Library
is responsible for automating the build process of C++ projects using CMake.
The script provides a bootstrap option for creating a new C++ boilerplate project.
It provides a convenient interface for developers to execute build commands.
The same script can be used for both Linux and Windows, including CI/CD-pipelines.
See the Python script in action see the YouTube channel.
Good chance the
mainbranch is not up to date and uses adevorfixbranch.
When running a container using this image, you need to start it using these
options to enable fuse-zip mounts used for the three different platforms of Qt frameworks.
Running as root --user 0:0 is needed to change from user user the uid and gid.
--user 0:0
--net host
--cap-add SYS_ADMIN
--device /dev/fuse
--security-opt apparmor:unconfined
Additional options:
--volume ${PWD}:/mnt/project : Makes the container run with the uid and gid of the project directory owner.--env LOCAL_USER=<uid>:<gid> : Makes the container run with the given uid and gid.--env DISPLAY --volume ${HOME}/.Xauthority:/home/user/.Xauthority:ro : Tto allow hosts X-server access for X11 GUI
apps.--env SF_QT_VERSION : Set the Qt version to download for all toolchains.--env SF_QT_DOWNLOAD_BASE : Set the base URL for downloading Qt framework libraries.The filenames used for downloading Qt framework libraries are:
Formatted as
qt-<platform>-<arch>-<qt-version>.tar.gz
qt-lnx-aarch64-6.10.1.tar.gzqt-lnx-aarch64-6.10.3.tar.gzqt-lnx-aarch64-6.12.0.tar.gzVersions of some of the tools which are available in this image.
| Application | Version |
|---|---|
| Ubuntu | 24.04 |
| Git | 2.55.0 |
| GCC | 13.3.0 |
| C++ | 13.3.0 |
| GCC-13 | 13.3.0 |
| C++-13 | 13.3.0 |
| Aarch64 GCC | 13.3.0 |
| Aarch64 G++ | 13.3.0 |
| MinGW GCC | 13-posix |
| MinGW C++ | 13-posix |
| CMake | 4.4.4 |
| GNU-Make | 4.3 |
| GNU-Patch | 2.7.6 |
| Ninja-Build | 1.11.1 |
| CLang-Format | 18.1.3 |
| Gdb | 15.1 |
| GNU-Linker | 2.42 |
| DoxyGen | 1.9.8 |
| Graphviz | 2.43.0 |
| Exif-Tool | 12.76 |
| Dpkg | 1.22.6 |
| RPM | 4.18.2 |
| OpenJDK | 21.0.12.1 |
| BindFS | 1.14.7 |
| Fuse-zip | 0.6.0 |
| JQ | 1.7 |
| Gcovr | 8.6 |
| Python3 | 3.12.3 |
Content type
Image
Digest
sha256:e384a83d9…
Size
821.7 MB
Last updated
2 days ago
docker pull avolphen/arm64-gnu-cpp