跳转至

快速开始

5 分钟开始使用 CCGO!本指南将引导您创建第一个跨平台 C++ 项目。

创建新项目

# 创建名为 "hello" 的新项目
ccgo new hello

# 进入项目目录
cd hello/hello

生成的项目结构:

hello/
└── hello/           # 主项目目录
    ├── CCGO.toml    # 项目配置
    ├── CMakeLists.txt
    ├── include/     # 公共头文件
    │   └── hello/
    │       └── hello.h
    ├── src/         # 源文件
    │   └── hello.cpp
    ├── tests/       # 单元测试
    │   └── test_hello.cpp
    ├── benches/     # 基准测试
    │   └── bench_hello.cpp
    └── examples/    # 示例程序
        └── example_hello.cpp

为您的平台构建

# 为当前平台构建
ccgo build
# 为 Android 构建(多架构)
ccgo build android --arch arm64-v8a,armeabi-v7a
# 为 iOS 构建(需要 macOS)
ccgo build ios
# 使用 Docker 为任何平台构建(在任何操作系统上工作)
ccgo build linux --docker
ccgo build windows --docker
ccgo build macos --docker

运行测试

# 运行单元测试
ccgo test

# 运行基准测试
ccgo bench

添加依赖

编辑 CCGO.toml

[dependencies]
# 从 Git 仓库
spdlog = { git = "https://github.com/gabime/spdlog.git", tag = "v1.12.0" }

# 从本地路径
# mylib = { path = "../mylib" }

# 从注册表(即将推出)
# fmt = "10.1.1"

安装依赖:

ccgo install

在代码中使用依赖(src/hello.cpp):

#include <spdlog/spdlog.h>

void greet(const std::string& name) {
    spdlog::info("Hello, {}!", name);
}

发布您的库

# 构建并发布到 Maven Local
ccgo publish android --registry local
# 构建并发布到 CocoaPods
ccgo publish apple --manager cocoapods
# 构建并发布到 SPM
ccgo publish apple --manager spm --push

配置您的项目

编辑 CCGO.toml 自定义项目:

[package]
name = "hello"
version = "1.0.0"
description = "跨平台 C++ 库"
authors = ["您的名字 <you@example.com>"]
license = "MIT"

[library]
type = "both"  # "static", "shared" 或 "both"
namespace = "hello"

[dependencies]
spdlog = { git = "https://github.com/gabime/spdlog.git", tag = "v1.12.0" }

[build]
cpp_standard = 17
cmake_minimum_version = "3.20"

[android]
min_sdk_version = 21
target_sdk_version = 33

[ios]
min_deployment_target = "12.0"

下一步

常用命令

# 项目创建
ccgo new <name>          # 创建新项目
ccgo init                # 在现有项目中初始化 CCGO

# 构建
ccgo build <platform>    # 为特定平台构建
ccgo build --docker      # 使用 Docker 构建
ccgo clean               # 清理构建产物

# 测试
ccgo test                # 运行测试
ccgo bench               # 运行基准测试

# 依赖管理
ccgo install             # 安装依赖
ccgo install --locked    # 使用锁文件中的精确版本
ccgo vendor              # 本地 vendor 依赖

# 发布
ccgo publish <platform> --registry <type>  # 发布库
ccgo tag                 # 创建版本标签

# 工具
ccgo check <platform>    # 检查平台需求
ccgo doc --open          # 生成并打开文档

故障排除

构建失败

# 检查平台要求
ccgo check android

# 如果本地工具链有问题,尝试 Docker 构建
ccgo build android --docker

依赖问题

# 删除锁文件并重新安装
rm CCGO.lock
ccgo install

# Vendor 依赖以进行离线构建
ccgo vendor

需要帮助?