mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-03-25 14:59:44 +08:00
update:添加构建脚本
This commit is contained in:
157
BUILD_SCRIPTS.md
Normal file
157
BUILD_SCRIPTS.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# Spark Store 编译脚本使用指南
|
||||
|
||||
本项目包含 4 个编译脚本,支持 Qt5 和 Qt6 并行编译。
|
||||
|
||||
## 脚本文件
|
||||
|
||||
### 1. **Qt5 编译脚本** (`build-qt5.sh`)
|
||||
**功能**: 仅编译 Qt5 版本
|
||||
```bash
|
||||
./build-qt5.sh
|
||||
```
|
||||
**输出**:
|
||||
- 编译目录: `build/qt5-Debug/`
|
||||
- 可执行文件: `build/qt5-Debug/src/spark-store`
|
||||
|
||||
### 2. **Qt5 编译和运行脚本** (`build-run-qt5.sh`)
|
||||
**功能**: 编译 Qt5 版本并立即运行
|
||||
```bash
|
||||
./build-run-qt5.sh
|
||||
```
|
||||
**流程**: 编译 → 运行应用(前台)
|
||||
|
||||
### 3. **Qt6 编译脚本** (`build-qt6.sh`)
|
||||
**功能**: 仅编译 Qt6 版本
|
||||
```bash
|
||||
./build-qt6.sh
|
||||
```
|
||||
**输出**:
|
||||
- 编译目录: `build/qt6-Debug/`
|
||||
- 可执行文件: `build/qt6-Debug/src/spark-store`
|
||||
|
||||
### 4. **Qt6 编译和运行脚本** (`build-run-qt6.sh`)
|
||||
**功能**: 编译 Qt6 版本并立即运行
|
||||
```bash
|
||||
./build-run-qt6.sh
|
||||
```
|
||||
**流程**: 编译 → 运行应用(前台)
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 编译 Qt6 版本
|
||||
```bash
|
||||
cd /home/momen/Desktop/spark-git/spark-store
|
||||
./build-qt6.sh
|
||||
```
|
||||
|
||||
### 编译并运行 Qt5 版本
|
||||
```bash
|
||||
cd /home/momen/Desktop/spark-git/spark-store
|
||||
./build-run-qt5.sh
|
||||
```
|
||||
|
||||
### 编译两个版本(共存)
|
||||
```bash
|
||||
# 先编译 Qt6
|
||||
./build-qt6.sh
|
||||
|
||||
# 再编译 Qt5
|
||||
./build-qt5.sh
|
||||
```
|
||||
|
||||
## 脚本特性
|
||||
|
||||
✓ **自动检测**: 检查 Qt 工具是否安装
|
||||
✓ **并行编译**: 使用 `make -j$(nproc)` 利用所有 CPU 核心
|
||||
✓ **结果验证**: 编译完成后验证可执行文件
|
||||
✓ **错误处理**: 编译失败时立即停止并报错
|
||||
✓ **清洁构建**: 每次都从头开始(删除旧构建目录)
|
||||
|
||||
## 构建目录结构
|
||||
|
||||
```
|
||||
spark-store/
|
||||
├── build/
|
||||
│ ├── qt5-Debug/ # Qt5 构建目录
|
||||
│ │ ├── src/
|
||||
│ │ │ └── spark-store (可执行文件)
|
||||
│ │ └── spark-update-tool/
|
||||
│ │ └── spark-update-tool (可执行文件)
|
||||
│ └── qt6-Debug/ # Qt6 构建目录
|
||||
│ ├── src/
|
||||
│ │ └── spark-store (可执行文件)
|
||||
│ └── spark-update-tool/
|
||||
│ └── spark-update-tool (可执行文件)
|
||||
├── build-qt5.sh
|
||||
├── build-run-qt5.sh
|
||||
├── build-qt6.sh
|
||||
└── build-run-qt6.sh
|
||||
```
|
||||
|
||||
## 环境要求
|
||||
|
||||
### Qt5
|
||||
- qmake 路径: `/usr/lib/qt5/bin/qmake`
|
||||
- Qt 版本: 5.15.15+
|
||||
|
||||
### Qt6
|
||||
- qmake6 路径: `/usr/lib/qt6/bin/qmake6`
|
||||
- Qt 版本: 6.8.2+
|
||||
|
||||
### 构建工具
|
||||
- GCC/G++ 编译器
|
||||
- make 工具
|
||||
- pkg-config
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 问题: 未找到 Qt qmake
|
||||
**解决**:
|
||||
```bash
|
||||
# 检查 Qt 安装
|
||||
which qmake # 检查 Qt5
|
||||
/usr/lib/qt6/bin/qmake6 --version # 检查 Qt6
|
||||
```
|
||||
|
||||
### 问题: 编译出错
|
||||
**解决**:
|
||||
1. 检查所有依赖是否安装
|
||||
2. 确保有充足的磁盘空间
|
||||
3. 查看完整的错误信息
|
||||
4. 尝试清理构建目录
|
||||
|
||||
## 高级用法
|
||||
|
||||
### 仅运行已编译的应用(不重新编译)
|
||||
```bash
|
||||
# Qt5
|
||||
./build/qt5-Debug/src/spark-store
|
||||
|
||||
# Qt6
|
||||
./build/qt6-Debug/src/spark-store
|
||||
```
|
||||
|
||||
### 后台运行应用
|
||||
```bash
|
||||
# Qt5 后台运行
|
||||
./build/qt5-Debug/src/spark-store &
|
||||
|
||||
# Qt6 后台运行
|
||||
./build/qt6-Debug/src/spark-store &
|
||||
```
|
||||
|
||||
### 跳过编译直接运行
|
||||
```bash
|
||||
# 如果已编译,可直接运行
|
||||
./build/qt6-Debug/src/spark-store
|
||||
```
|
||||
|
||||
|
||||
## 脚本维护
|
||||
|
||||
这些脚本会在每次运行时:
|
||||
1. 检查 Qt 工具可用性
|
||||
2. 清理旧的构建目录
|
||||
3. 生成新的 Makefile
|
||||
4. 编译项目
|
||||
5. 验证编译结果
|
||||
Reference in New Issue
Block a user