跳转至

平台支持

CCGO 为 C++ 项目提供全面的跨平台构建支持。本节涵盖平台特定的指南、要求和最佳实践。

支持的平台

移动平台

平台 架构 输出格式 状态
Android arm64-v8a, armeabi-v7a, x86, x86_64 AAR, .so, .a ✅ 稳定
iOS armv7, arm64, simulator (x86_64, arm64) Framework, XCFramework ✅ 稳定
OpenHarmony arm64-v8a, armeabi-v7a, x86_64 HAR, .so, .a ✅ 稳定

桌面平台

平台 架构 输出格式 状态
macOS x86_64, arm64 (Apple Silicon) Framework, XCFramework, dylib ✅ 稳定
Windows x86, x86_64 DLL, LIB (MSVC/MinGW) ✅ 稳定
Linux x86_64, aarch64 .so, .a ✅ 稳定

电视和可穿戴平台

平台 架构 输出格式 状态
watchOS armv7k, arm64_32, simulator Framework, XCFramework ✅ 稳定
tvOS arm64, simulator (x86_64, arm64) Framework, XCFramework ✅ 稳定

多平台

平台 描述 状态
Kotlin 多平台 带原生 C++ 的 KMP 库 🚧 即将推出

快速开始

基本构建

# 为当前平台构建
ccgo build

# 为特定平台构建
ccgo build android --arch arm64-v8a
ccgo build ios
ccgo build windows --toolchain msvc

基于 Docker 的构建

在任何主机操作系统上构建任何平台:

# 在 macOS/Windows 上构建 Linux 库
ccgo build linux --docker

# 在 Linux/macOS 上构建 Windows 库
ccgo build windows --docker

# 在 Linux/Windows 上构建 macOS/iOS 库(实验性)
ccgo build macos --docker

平台选择指南

移动应用

  • Android:使用 AAR 轻松集成 Android Studio/Gradle
  • iOS:使用 XCFramework 支持设备和模拟器
  • OpenHarmony:使用 HAR 集成 DevEco Studio

桌面应用

  • Windows:MSVC 用于 Visual Studio 项目,MinGW 用于 GCC 兼容性
  • macOS:Framework 用于 Xcode 项目,dylib 用于通用用途
  • Linux:共享库(.so)用于大多数应用

多平台

  • Kotlin 多平台:跨 Android、iOS、macOS、Linux、Windows 的统一 API

构建选项

架构选择

# 单一架构
ccgo build android --arch arm64-v8a

# 多个架构
ccgo build android --arch arm64-v8a,armeabi-v7a,x86_64

# 所有架构(默认)
ccgo build android

链接类型

# 仅静态库
ccgo build --build-as static

# 仅共享库
ccgo build --build-as shared

# 两者都有(默认)
ccgo build --build-as both

工具链选择(Windows)

# MSVC(Windows 默认)
ccgo build windows --toolchain msvc

# MinGW
ccgo build windows --toolchain mingw

# 两者
ccgo build windows --toolchain auto

平台要求

开发先决条件

平台 要求
Android Android SDK/NDK 或 Docker
iOS 带 Xcode 的 macOS 或 Docker(实验性)
macOS 带 Xcode 的 macOS 或 Docker(实验性)
Windows Visual Studio 或 MinGW 或 Docker
Linux GCC/Clang 或 Docker
OpenHarmony OpenHarmony SDK 或 Docker
watchOS/tvOS 带 Xcode 的 macOS

Docker 要求

所有平台都可以使用 Docker 构建,无需本地工具链设置:

  • 安装 Docker Desktop
  • 运行 ccgo build <platform> --docker
  • 首次构建下载预构建镜像(约 2-10 分钟)
  • 后续构建使用缓存镜像(即时启动)

平台特定指南

常见任务

发布

# 发布到 Maven(Android/OpenHarmony)
ccgo publish android --registry official

# 发布到 CocoaPods(iOS/macOS)
ccgo publish apple --manager cocoapods

# 发布到 Swift Package Manager
ccgo publish apple --manager spm --push

# 发布到 Conan(所有平台)
ccgo publish conan --registry official

IDE 项目

# 生成 Android Studio 项目
ccgo build android --ide-project

# 生成 Xcode 项目
ccgo build ios --ide-project

# 生成 Visual Studio 项目
ccgo build windows --ide-project --toolchain msvc

检查平台支持

# 检查是否满足平台要求
ccgo check android
ccgo check ios --verbose

# 检查所有平台
ccgo check --all

平台特定配置

每个平台都可以在 CCGO.toml 中配置:

[android]
min_sdk_version = 21
target_sdk_version = 33
ndk_version = "25.2.9519653"

[ios]
min_deployment_target = "12.0"
enable_bitcode = false

[windows]
msvc_runtime = "dynamic"  # 或 "static"

完整选项请参阅 CCGO.toml 参考

故障排除

构建失败

  1. 检查平台要求:ccgo check <platform>
  2. 尝试 Docker 构建:ccgo build <platform> --docker
  3. 启用详细日志:ccgo build <platform> --verbose

Docker 问题

  1. 确保 Docker 正在运行:docker ps
  2. 清除 Docker 缓存:docker system prune
  3. 重新拉取镜像:docker pull ccgo-builder-<platform>

平台特定问题

详细故障排除请参阅各个平台指南。

下一步