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

3.2 KiB
Raw Blame History

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

# 使用构建脚本
scripts\build.bat Release

# 或手动构建
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release

Linux/macOS

# 使用构建脚本
chmod +x scripts/build.sh
./scripts/build.sh Release

# 或手动构建
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . -j$(nproc)

Android

# 设置 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

    cmake .. -DBUILD_TESTS=ON
    
  • BUILD_SHARED_LIBS: 构建共享库(默认: OFF

    cmake .. -DBUILD_SHARED_LIBS=ON
    
  • ENABLE_VP8_CODEC: 启用 VP8 编解码器支持(默认: OFF

    cmake .. -DENABLE_VP8_CODEC=ON
    
  • USE_SYSTEM_FLATBUFFERS: 使用系统安装的 FlatBuffers默认: OFF

    cmake .. -DUSE_SYSTEM_FLATBUFFERS=ON
    

依赖管理

项目使用 CMake FetchContent 自动下载依赖。主要依赖包括:

  • FlatBuffers: 自动下载(或使用系统版本)
  • Google Test: 仅在 BUILD_TESTS=ON 时下载
  • libvpx: 仅在 ENABLE_VP8_CODEC=ON 时查找

使用 vcpkg可选

如果使用 vcpkg 管理依赖:

# 安装 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

运行测试

# 在构建目录中
ctest

# 或运行特定测试
ctest -R test_network_interface

# 详细输出
ctest --verbose

输出目录

构建输出位于:

  • 可执行文件: build/bin/
  • 库文件: build/lib/
  • 测试: build/tests/

常见问题

CMake 找不到编译器

Windows: 确保 Visual Studio 已安装,并在 Visual Studio 开发者命令提示符中运行。

Linux: 安装构建工具:

sudo apt-get install build-essential  # Ubuntu/Debian

Android 构建失败

确保设置了正确的 Android NDK 路径:

export ANDROID_NDK=/path/to/android-ndk

依赖下载失败

检查网络连接,或使用代理:

export https_proxy=http://proxy.example.com:8080

开发模式

对于开发,建议使用 Debug 模式:

cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON
cmake --build .

这会启用调试符号和测试支持。