Development Environment - ShadobaDev/Platemaker-qt GitHub Wiki
Everything to install before the first build.
| Tool | Version | Notes |
|---|---|---|
| Qt | 6.8+ | Widgets module required |
| CMake | 3.21+ | Presets format v6 |
| MSVC 2022 or MinGW (MSYS2) | — | Windows |
| GCC / Clang | — | Linux |
| libplatemaker | 0.4.1+ | See Building |
Toolchains cannot be mixed. C++ has no standard ABI, so a library built with MSVC is not usable from a MinGW-built GUI and vice versa. Whichever you choose,
libplatemakermust be built with the same one. The GUI is developed against MinGW.
Install Visual Studio 2022 with the Desktop development with C++ workload, which brings the compiler, CMake, Ninja and the Windows SDK.
Then install Qt through the Qt online installer, selecting the matching MSVC kit.
Install MSYS2, then from the MinGW64 terminal install just the toolchain:
pacman -S \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-ninjaSince libplatemaker 0.3.1 the MinGW build fetches its own libvips (the same pinned "web"
build the MSVC branch uses), so you no longer need the mingw-w64-x86_64-libvips package or a
PKG_CONFIG_PATH variable. The one requirement is the PATH entry:
| Setting | Value |
|---|---|
PATH entry |
C:\msys64\mingw64\bin |
That makes gcc, g++ and ninja available in any terminal, not only inside an MSYS2 shell.
Tested on Ubuntu 22.04.
sudo apt update
sudo apt install -y build-essential cmake ninja-build pkg-config git libvips-devQt comes from the Qt online installer or your distribution's packages.
The GUI is developed and run from Qt Creator, which handles the Windows runtime DLL setup for
you. Open CMakeLists.txt as a project and select the kit matching your toolchain.
Pointing the build at a local libplatemaker is the one piece of per-machine configuration —
see Building.
Optional, but useful for crashes and hangs. Match the debugger to the toolchain, because the two symbol formats are not interchangeable:
| Toolchain | Debugger | Install |
|---|---|---|
| MinGW (MSYS2) | GDB — reads DWARF | pacman -S mingw-w64-x86_64-gdb |
| Linux | GDB | sudo apt install gdb |
| MSVC | Visual Studio debugger — reads PDB | ships with VS |
To dump every thread's stack of an already-running process:
gdb -p <pid> -batch -ex "thread apply all bt"See also: Building · Development · Contributing