QtCS25 - Compile once; run everywhere

From Qt Wiki
Jump to navigation Jump to search

Session Summary

Compiling and deploying of C++ applications on Windows, Linux, macOS for x86_64 and arm64 can be challenging. By using Cosmopolitan Libc we could have an alternative.

This is a follow up of QtCS2024 Compile once. Run everywhere - Qt Wiki

Session Owners

Cristian Adam

Notes

This time Windows works and a native VNC Client (build for Linux, Windows, macOS x64 and arm64) is bundled with the affine.exe application. The VNC client is extracted from the application at startup and connects to the localhost:5900 VNC server provided by the cosmopolitan application.

Slides are available at QtCS2025-CompileOnce-RunEverywhere.pdf


(AI transcribed and summarized)

The speaker, Cristian Adam from the Qt Creator team, presents a project using Cosmopolitan Libc to create a single binary that runs on multiple platforms (Windows, Linux, Mac OS) without modifications. Key points include:

- The project aims to compile once and run everywhere

- Cosmopolitan Libc enables Unix-like behavior on Windows and other platforms.

- The speaker demonstrates a Qt example running on all three platforms using VNC QPA.

- The project faces challenges with CMake and GUI layers, but the speaker is exploring solutions like SDL QPA and Angle project.

- The ultimate goal is to create a usable, cross-platform application with a nice GUI layer.

- The speaker acknowledges the project's complexity and the need for a clear path forward.