Files
DisplayFlow/BUILD_GUIDE.md

181 lines
3.2 KiB
Markdown
Raw Normal View History

2025-12-12 21:54:52 +08:00
# DisplayFlow 构建指南
## 前置要求
### 通用要求
- CMake 3.15 或更高版本
- C++17 兼容的编译器
- Git用于下载依赖
### Windows
- Visual Studio 2019 或更高版本
- Windows SDK 10.0.19041.0 或更高版本
### Android
- Android NDK r21 或更高版本
- Android Studio可选用于开发
### Linux/macOS
- GCC 7+ 或 Clang 8+
- pkg-config如果启用 VP8 编解码器)
## 快速开始
### Windows
```batch
# 使用构建脚本
scripts\build.bat Release
# 或手动构建
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release
```
### Linux/macOS
```bash
# 使用构建脚本
chmod +x scripts/build.sh
./scripts/build.sh Release
# 或手动构建
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)
```
### Android
```bash
# 设置 Android NDK 路径
export ANDROID_NDK=/path/to/android-ndk
# 创建构建目录
mkdir build-android
cd build-android
# 配置 CMake
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-21 \
-DCMAKE_BUILD_TYPE=Release
# 编译
cmake --build .
```
## 构建选项
### 主要选项
- `BUILD_TESTS`: 构建测试(默认: OFF
```bash
cmake .. -DBUILD_TESTS=ON
```
- `BUILD_SHARED_LIBS`: 构建共享库(默认: OFF
```bash
cmake .. -DBUILD_SHARED_LIBS=ON
```
- `ENABLE_VP8_CODEC`: 启用 VP8 编解码器支持(默认: OFF
```bash
cmake .. -DENABLE_VP8_CODEC=ON
```
- `USE_SYSTEM_FLATBUFFERS`: 使用系统安装的 FlatBuffers默认: OFF
```bash
cmake .. -DUSE_SYSTEM_FLATBUFFERS=ON
```
### 依赖管理
项目使用 CMake FetchContent 自动下载依赖。主要依赖包括:
- **FlatBuffers**: 自动下载(或使用系统版本)
- **Google Test**: 仅在 `BUILD_TESTS=ON` 时下载
- **libvpx**: 仅在 `ENABLE_VP8_CODEC=ON` 时查找
### 使用 vcpkg可选
如果使用 vcpkg 管理依赖:
```bash
# 安装 vcpkg
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # Linux/macOS
# 或
.\bootstrap-vcpkg.bat # Windows
# 安装依赖
./vcpkg install flatbuffers
# 配置 CMake 使用 vcpkg
cmake .. -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake
```
## 运行测试
```bash
# 在构建目录中
ctest
# 或运行特定测试
ctest -R test_network_interface
# 详细输出
ctest --verbose
```
## 输出目录
构建输出位于:
- 可执行文件: `build/bin/`
- 库文件: `build/lib/`
- 测试: `build/tests/`
## 常见问题
### CMake 找不到编译器
**Windows**: 确保 Visual Studio 已安装,并在 Visual Studio 开发者命令提示符中运行。
**Linux**: 安装构建工具:
```bash
sudo apt-get install build-essential # Ubuntu/Debian
```
### Android 构建失败
确保设置了正确的 Android NDK 路径:
```bash
export ANDROID_NDK=/path/to/android-ndk
```
### 依赖下载失败
检查网络连接,或使用代理:
```bash
export https_proxy=http://proxy.example.com:8080
```
## 开发模式
对于开发,建议使用 Debug 模式:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON
cmake --build .
```
这会启用调试符号和测试支持。