1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/royqh1979-RedPanda-CPP

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
detailed-build-xdg-cn.md 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 22:05 36acfe0

Подробные руководства по сборке — в соответствии с нормами freedesktop.org (XDG)

Традиционный способ сборки Unix (./configuremakemake install)

  • Установите компилятор GCC, поддерживающий C++17 (версия ≥ 7) или Clang (версия ≥ 6).
  • Установите модули Qt 5.15 или 6.8+, включая базовый, SVG и Tools модули, а также библиотеки и файлы разработки.
  • При использовании статической версии Qt установите fcitx5-qt.
  • Установите astyle для форматирования кода на C++.

Сборка с помощью qmake

  1. Конфигурация:
    qmake PREFIX=/usr/local /path/to/src/Red_Panda_CPP.pro
  2. Сборка:
    make -j$(nproc)
  3. Установка:
    sudo make install

Переменные qmake:

  • PREFIX: значение по умолчанию — /usr/local. В пакете должно быть установлено как /usr.
  • LIBEXECDIR: путь к исполняемым файлам, значение по умолчанию — $PREFIX/libexec. Arch Linux использует /usr/lib.

Сборка с помощью xmake

  1. Конфигурация:
    xmake f -p linux -a x86_64 -m release --qt=/usr --prefix=/usr/local
  2. Сборка:
    xmake
  3. Установка:
    sudo xmake install --root -o /  # -o ... имитирует DESTDIR=... в make install

Подсказка: xmake f --help позволяет получить больше опций.

Простое руководство для Debian/Ubuntu

# Подготовка
apt install gcc g++ make git gdb gdbserver astyle qterminal # Установка средств сборки и выполнения
apt install qtbase5-dev qttools5-dev-tools libqt5svg5-dev   # Установка заголовочных файлов и библиотек
git clone https://gitee.com/royqh1979/RedPanda-CPP.git       # Получение исходного кода

# Сборка
mkdir -p RedPanda-CPP/build && cd RedPanda-CPP/build         # Создание директории сборки
qmake ../Red_Panda_CPP.pro                                    # Конфигурирование
make -j$(nproc)                                               # Сборка
sudo make install                                             # Установка

# Выполнение
RedPandaIDE

Debian-пакеты для нескольких архитектур/версий

Эти пакеты можно собирать в контейнерной среде. Поддерживается хост Linux и Windows.

podman run --rm -v $PWD:/mnt -w /mnt --platform linux/amd64 docker.io/debian:12 ./packages/debian/01-in-docker.sh

Платформа (--platform параметр) может быть linux/amd64, linux/386, linux/arm64/v8, linux/arm/v7, linux/riscv64 и так далее.

Изображение может быть docker.io/debian:12, docker.io/debian:11, docker.io/ubuntu:24.04, docker.io/ubuntu:23.10, docker.io/ubuntu:22.04 и так далее.

Необязательные переменные окружения:

  • -e MIRROR=mirrors.kernel.org: зеркало APT.
  • -e JOBS=4: количество параллельных задач для make.

Эмулированная сборка для различных архитектур (emulated native build)

С помощью эмуляции пользователя QEMU можно собирать проекты для целевых архитектур.

Обратите внимание: всегда выполняйте эмулированную сборку в контейнерах или jail из-за потенциального повреждения системы при использовании программ и библиотек разных архитектур.

Для хоста Linux или BSD требуется установка статически связываемого QEMU пользователя (обычно пакет называется qemu-user-static) и подтверждение активации binfmt.

Для хоста Windows Docker и Podman должны иметь включённую эмуляцию QEMU пользователя. Если она не включена,

  • Docker:
    docker run --rm --privileged multiarch/qemu-user-static:register
  • Podman (его виртуальная машина основана на Fedora WSL) требует только активации binfmt:
    wsl -d podman-machine-default sudo cp /usr/lib/binfmt.d/qemu-aarch64-static.conf /proc/sys/fs/binfmt_misc/register
    wsl -d podman-machine-default sudo cp /usr/lib/binfmt.d/qemu-riscv64-static.conf /proc/sys/fs/binfmt_misc/register

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/royqh1979-RedPanda-CPP.git
git@api.gitlife.ru:oschina-mirror/royqh1979-RedPanda-CPP.git
oschina-mirror
royqh1979-RedPanda-CPP
royqh1979-RedPanda-CPP
master