Conan# 备注 Conan 是: 专为 C 和 C++ 开发人员设计的软件包管理器。 开源、去中心化和跨平台的包管理器,用于创建和共享您所有的原生二进制文件。 Conan 简介 安装 去中心化包管理器 二进制管理 所有平台、所有构建系统和编译器 Conan 2 特性 依赖图模型 公共 Python API 构建系统集成 自定义用户命令 CLI 部署器 package_id compatibility.py 锁定文件 配置和环境管理 多版本缓存 扩展插件 配置检查器 命令包装器 包签名 软件包不可变性优化 包清单 元数据文件 第三方备份源 从 Conan 包中安装配置 使用 Conan 管理依赖项 基于 Conan 的 CMake 项目构建 多平台构建指南 将构建工具作为 Conan 包使用 构建多种配置:Release、Debug、静态和共享 修改设置:对应用程序及其依赖项使用 Debug 配置 修改选项:将应用程序依赖项链接为共享库 settings 和 options 的区别 引入 Package ID 的概念 理解使用 conanfile.py 与 conanfile.txt 的灵活性 使用 layout() 方法 使用 validate() 方法为不支持的配置引发错误 使用 conanfile.py 的条件需求 使用 generate() 方法从包中复制资源 如何使用 Conan 进行应用程序交叉编译:主机和构建上下文 Conan 双配置文件模型:构建配置文件和主机配置文件 构建和主机上下文 版本控制简介 版本范围 修订版本 (Revisions) Lockfiles 创建包 创建 Conan 包 关于 Conan 缓存的注意事项 处理包中的源代码 来自 git 仓库分支的源代码 使用 conandata.yml 文件 为包添加依赖项 依赖项的传递性 准备构建 在配方中配置设置和选项 Conan 包的二进制兼容性:包 ID C 库 仅包含头文件的库 构建软件包:build() 方法 为您的项目构建和运行测试 配方引入的变更 库源代码中引入的变更 条件性地修补源代码 有条件地选择构建系统 包文件:package() 方法 在 package() 方法中使用 CMake 安装步骤 在 package() 方法中使用 conan.tools.files.copy() 进行文件复制和打包许可证 在 package() 方法中管理符号链接 为消费者定义信息:package_info() 方法 在 package_info() 方法中设置信息 定义消费者依赖的设置或选项的信息 库源代码中引入的变更 配方引入的变更 属性模型:为特定生成器设置信息 将环境或配置信息传播给消费者 定义 Conan 包中提供多个库的组件 测试 Conan 包 其他类型的包 仅包含头文件的包 仅包含头文件的库,带测试 预构建二进制包 本地构建二进制文件 打包预构建的二进制文件 下载和打包预构建二进制文件 工具需求包 简单的工具需求配方 在 package_id() 中移除设置 在本地开发软件包 包开发流程 conan source conan install conan build conan export-pkg 可编辑模式下的包 将 say/1.0 包置于可编辑模式 使用 say/1.0 包的可编辑模式 使用可编辑的包 构建可编辑依赖项 撤销编辑模式 理解 Conan 包布局 self.folders self.cpp cpp.package cpp.source 和 cpp.build 工作区 简介 如何定义工作区 整体构建 协调构建 其他重要的 Conan 功能 python_requires 包清单 从缓存中删除未使用的包 cmake-conan 示例项目 在你的项目中 已知的 Conan 2.0 限制 自定义 Conan 配置文件 自定义 Conan 安装的调用 核心指南 良好实践 禁止的实践