Files
DisplayFlow/BUILD_GUIDE.md
huanglinhuan 91ae52eeb3 暂存文件
2025-12-12 21:54:52 +08:00

181 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 .
```
这会启用调试符号和测试支持。