2023-01-03 12:18:02 +08:00
|
|
|
|
# 依赖
|
2022-02-21 12:01:26 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
小熊猫C++需要Qt 5(>=5.12)
|
2022-02-21 12:01:26 +08:00
|
|
|
|
|
|
|
|
|
# Windows
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
我使用msys2打包的最新版的GCC和MinGW-w64工具链来编译小熊猫C++。VC和其他版本的gcc不一定能够正常编译。
|
2022-02-21 12:01:26 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
编译步骤:
|
|
|
|
|
- 安装msys2 (https://www.msys2.org)
|
|
|
|
|
- 使用msys2的pacman程序安装mingw-w64-x86_64-qt5和mingw-w64-x86_64-gcc
|
|
|
|
|
- 安装qtcreator
|
|
|
|
|
- 使用qtcreator打开Red_Panda_CPP.pro文件
|
2022-02-21 12:01:26 +08:00
|
|
|
|
|
|
|
|
|
# Linux
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
步骤:
|
|
|
|
|
- 安装 gcc 和 qt5开发相关包
|
|
|
|
|
- 使用qtcreator打开Red_Panda_CPP.pro文件
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
qmake 变量:
|
|
|
|
|
- `PREFIX`:默认值是 `/usr/local`。打包时应该定义为 `/usr` 或 `/opt/redpanda-cpp`。
|
|
|
|
|
- `LIBEXECDIR`:辅助程序的路径,默认值是 `$PREFIX/libexec`。Arch Linux 使用 `/usr/lib`。
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
|
|
|
|
## Ubuntu
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
### 1.安装编译器
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```bash
|
|
|
|
|
apt install gcc g++ make gdb gdbserver
|
2022-08-08 10:45:35 +08:00
|
|
|
|
```
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
### 2.安装QT5和依赖包
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```bash
|
|
|
|
|
apt install qtbase5-dev qttools5-dev-tools libicu-dev libqt5svg5-dev git qterminal
|
2022-08-08 10:45:35 +08:00
|
|
|
|
```
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
### 3.下载源码
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```bash
|
2022-08-08 10:45:35 +08:00
|
|
|
|
git clone https://gitee.com/royqh1979/RedPanda-CPP.git
|
|
|
|
|
```
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
### 4.编译
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```bash
|
|
|
|
|
cd RedPanda-CPP/
|
|
|
|
|
qmake Red_Panda_CPP.pro
|
|
|
|
|
make -j$(nproc)
|
2022-08-08 10:45:35 +08:00
|
|
|
|
sudo make install
|
|
|
|
|
```
|
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
### 5.运行
|
2022-08-08 10:45:35 +08:00
|
|
|
|
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```bash
|
2022-08-08 10:45:35 +08:00
|
|
|
|
RedPandaIDE
|
2023-01-03 12:18:02 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Arch Linux 及衍生版本
|
|
|
|
|
|
|
|
|
|
`packages/archlinux` 目录下提供了一个参考 PKGBUILD,使用 [makepkg](https://wiki.archlinuxcn.org/wiki/Makepkg) 构建小熊猫 C++ 并安装。
|
|
|
|
|
|
|
|
|
|
小熊猫 C++ 可以通过 `RedPandaIDE` 命令启动。
|
|
|
|
|
|
|
|
|
|
注意:makepkg 签出此存储库的 HEAD,因此构建之前务必提交所有变更。
|
|
|
|
|
|
|
|
|
|
## AppImage
|
|
|
|
|
|
|
|
|
|
1. 安装依赖包:cURL、Docker。
|
|
|
|
|
|
|
|
|
|
Windows 宿主的额外要求:
|
|
|
|
|
- Docker 使用基于 WSL 2 的引擎,或者对此项目文件夹启用文件共享(Settings > Resources > File sharing);
|
|
|
|
|
- PowerShell(曾用名 “PowerShell Core”,不是 “Windows PowerShell”)。
|
|
|
|
|
2. 准备构建环境。Linux 宿主:
|
|
|
|
|
```bash
|
|
|
|
|
arch=x86_64 # 或 aarch64
|
|
|
|
|
curl -L -o packages/appimage/dockerfile-$arch/appimagetool-$arch.AppImage https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-$arch.AppImage
|
|
|
|
|
docker build -t redpanda-builder-$arch packages/appimage/dockerfile-$arch
|
|
|
|
|
```
|
|
|
|
|
Windows 宿主:
|
|
|
|
|
```ps1
|
|
|
|
|
$arch = "x86_64" # 或 "aarch64"(如果将来 Docker 支持 WoA)
|
|
|
|
|
Invoke-WebRequest -OutFile packages/appimage/dockerfile-$arch/appimagetool-$arch.AppImage -Uri https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-$arch.AppImage
|
|
|
|
|
docker build -t redpanda-builder-$arch packages/appimage/dockerfile-$arch
|
|
|
|
|
```
|
|
|
|
|
3. 构建 AppImage。Linux 宿主:
|
|
|
|
|
```bash
|
|
|
|
|
./packages/appimage/build-x86_64.sh # 或 *-aarch64.sh
|
|
|
|
|
```
|
|
|
|
|
Windows 宿主:
|
|
|
|
|
```ps1
|
|
|
|
|
./packages/appimage/build-x86_64.ps1 # 或 *-aarch64.ps1(如果将来 Docker 支持 WoA)
|
|
|
|
|
```
|
|
|
|
|
4. 运行小熊猫 C++.
|
|
|
|
|
```bash
|
|
|
|
|
./dist/RedPandaIDE-x86_64.AppImage # 或 *-aarch64.AppImage
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
注意:AppImage 与 QEMU 用户态模拟不兼容,使用此格式的 AppImageKit 工具自然不能用 QEMU 用户态模拟来运行。因此不能在 x86-64 系统上构建 AArch64 AppImage,反之亦然。
|