Skip to content

Latest commit

 

History

History
194 lines (147 loc) · 7.64 KB

File metadata and controls

194 lines (147 loc) · 7.64 KB

通用开发说明

前置条件:

  • Qt 6.8+ 或 5.15。
    • 可以使用 Qt 5.15,但不支持 make update_translations
  • 支持 CMake 或 xmake 的 C++ 开发环境,推荐:
    • Visual Studio Code -- 性能更好,与 AI 紧密集成。
    • Qt Creator -- 内建 UI 设计器,调试器的 Qt 集成。
      • lupdate:在 “编辑 > Preferences > 环境 > 外部工具” 中添加一个外部工具——执行档:cmake;参数:--build . --target update_translations;工作目录:选择 Global variables 下的 ActiveProject:BuildConfig:Path

Windows

库 + 工具链 \ 目标 x86 x64 ARM64
Windows NT 5.x + MinGW Lite ✔️ ✔️
Qt.io + MSVC ✔️ ✔️
VCPKG + MSVC ✔️ ✔️ ✔️

用于 Windows NT 5.x 的 Qt 库 + MinGW Lite 工具链

build-xp.sh 脚本和 build-mingw.sh 类似,但是工具链由 Qt 库提供。

本机构建前置条件:

  1. Windows 10 x64 或更高版本。
  2. 安装 MSYS2。

要进行本机构建,启动 MSYS2 环境,然后运行

./packages/mingw/build-xp.sh -p 32-msvcrt

此脚本除了接受 build-mingw.sh 的参数外,还接受以下参数:

  • -p|--profile <profile>:(必需)MinGW Lite 和 Qt 库的编译配置。可用的配置有 64-ucrt32-ucrt64-msvcrt32-msvcrt

MSVC 工具链

前置条件:

  1. Windows 10 x64 或更高版本,或 Windows 11 ARM64。
  2. 安装 Visual Studio 2022 或 2026(至少要有 “build tools” 和 “Windows SDK”)。
  3. 通过 Qt.io 安装器、aqtinstall 或 vcpkg 安装 Qt 6.8+ 或 5.15。
    • 必需组件:base、svg、tools、translations。
  4. PowerShell (Core,不是 Windows PowerShell)。

构建:

  1. 启动 Visual Studio 开发环境
  2. 对于 vcpkg,设置工具链文件(必需)和目标三元组(如果非默认):
    $env:CMAKE_TOOLCHAIN_FILE = "$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
    $env:VCPKG_TARGET_TRIPLET = "x64-windows"
  3. 运行构建脚本:
    ./packages/msvc/build.ps1 -QtDir C:/Qt/6.8.3/msvc2022_64
    
    # vcpkg (-QtDir 可选,用于 windeployqt)
    ./packages/msvc/build.ps1 -QtDir "$env:VCPKG_ROOT/installed/$env:VCPKG_TARGET_TRIPLET/tools/Qt6"

参数:

  • -c|-Clean:清理目录后再构建。
  • -QtDir <dir>:Qt 库目录。

Linux

另请参阅详细构建指南——符合 freedesktop.org(XDG)规范的桌面系统

用于滚动发行版的软件包

目前有 Alpine Linux (edge)、Arch Linux、Debian (unstable)、Fedora、openSUSE Tumbleweed、Ubuntu (devel)。

  1. 准备构建环境(AlpineArchDebiansRPM 文档)。
    • 对于 Debian 家族:
      sudo apt install --no-install-recommends build-essential debhelper devscripts equivs
  2. 调用构建脚本:
    • Alpine Linux:./packages/alpine/buildapk.sh
    • Arch Linux:./packages/archlinux/buildpkg.sh
    • Debian 家族:./packages/debian/builddeb.sh
    • Fedora:./packages/fedora/buildrpm.sh
    • openSUSE:./packages/opensuse/buildrpm.sh
  3. 安装软件包:
    • Alpine Linux:~/packages/unsupported/$(uname -m)/redpanda-cpp-git-*.apk
    • Arch Linux:/tmp/redpanda-cpp-git/redpanda-cpp-git-*.pkg.tar.zst
    • Debian 家族:/tmp/redpanda-cpp_*.deb
    • Fedora、openSUSE:~/rpmbuild/RPMS/$(uname -m)/redpanda-cpp-git-*.rpm
  4. 运行小熊猫C++:
    RedPandaIDE

注意:这些构建脚本签出此存储库的 HEAD,因此构建之前务必提交所有变更。

此外,也可以在容器环境中构建(推荐使用 rootless Podman;Docker 可能搞乱文件权限):

podman run --rm -v $PWD:/mnt -w /mnt <image> ./packages/<distro>/01-in-docker.sh

# 以 Arch Linux 为例
podman run --rm -v $PWD:/mnt -w /mnt docker.io/archlinux:latest ./packages/archlinux/01-in-docker.sh

软件包位于 dist/ 目录下。

用于绝大多数 Linux 桌面发行版的静态包

打包格式:AppImage、Debian (*.deb)、tar 包 (.tar.gz)。

podman run --rm -v $PWD:/mnt -w /mnt ghcr.io/redpanda-cpp/appimage-builder-x86_64:20260127.0 ./packages/appimage/01-in-docker.sh

软件包位于 dist/ 目录下。

创建构建环境的脚本位于 redpanda-cpp/appimage-builder。可用架构:x86_64x86_64.v3aarch64riscv64loong64i686