QtCS2024 一次编译。随处运行

主要观点:在 Windows、Linux、macOS 的 x86_64 和 arm64 上编译和部署 C++应用具有挑战性,可使用Cosmopolitan Libc作为替代。
关键信息

  • Qt Creator 目前通过 Qt 安装程序框架为多个平台(MacOS 的 X64 和 ARM64、Linux 的单独包、Windows ARM64 正在进行中)进行编译。
  • Cosmopolitan libc 是一种 C 运行时,在运行时检测主机机器并提供正确的系统调用,实现 C++应用“一次编译,到处运行”。
  • Cosmopolitan 应用编译两次(X64 和 ARM64)并打包为批处理脚本加有效负载,类似 Linux 运行安装程序。
  • Mozilla 的 llamafile 是 Cosmopolitan 应用的例子,下载后添加执行权限可在本地运行。
  • Adam 在 MacOS 和 Linux 上使用 Cosmopolitan libc 成功构建并运行了 CMake、Qt Base 和 Qt GUI 与 VNC QPA,但在 Windows 上因 Cosmopolitan Libc 的 POSIX 实现而遇到问题。
  • 挑战包括与原生平台集成、启动应用和支持 Qt QPA VNC 平台的 WebSockets。
  • Adam 展示了在 Cosmopolitan 中运行的 Qt Creator,菜单可用但窗口边框缺失。
  • Cosmopolitan Qt Creator 二进制文件约 230 兆字节,与原生版本相比性能无显著差异。
    重要细节
  • 幻灯片地址为2024.09.06/QtCS2024-CompileOnce-RunEverywhere.pdf · GitLab
  • Adam 计划继续致力于 Qt Creator 的 Cosmopolitan 支持并鼓励他人贡献和报告问题。
阅读 9
0 条评论