Conan 2.0 Documentation
4.00 MB
652 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档主要介绍了Conan 2.0的新功能和改进,包括新的图形模型以更好地支持C和C++二进制文件的关系、编译和链接,新的公共Python API以允许进一步扩展,新的构建系统集成,更灵活和强大的功能,以及新的用户命令,这些命令可以使用公共Python API构建并与其他用户共享。文档还提到了新的CLI界面、部署机制以将工件从缓存复制到用户文件夹,改进的包ID计算,新的兼容性扩展机制,更简单的锁定文件以提供长期的可重复性,改进的配置和环境管理,缓存支持多版本同时存储,新的扩展插件以实现配置检查、包签名和构建命令包装,以及使用包不可变性来改善更新、安装和上传流程。 | ||
AI总结 | ||
### Conan 2.0 主要更新内容总结
Conan 2.0 是 Conan 包管理器的重大版本更新,带来了许多改进和新功能,旨在提升 C/C++ 项目的依赖管理效率和灵活性。以下是核心内容的总结:
---
#### 1. **迁移指南**
- **兼容性**:Conan 2.0 尽可能保持与 1.X 的兼容性,支持同时使用两个版本的二进制文件,并允许在同一个服务器仓库中共存。
- **迁移准备**:提供了详细的迁移指南,帮助用户从 1.X 平滑过渡到 2.0,包括对旧版功能的支持和必要调整。
---
#### 2. **新的图形模型**
- **依赖关系改进**:引入了新的依赖特性(如 headers、libs、build、run、test、package_id_mode 等)和包类型(如 static、shared、application、header-only),以更精确地描述 C/C++ 二进制文件之间的关系。
- **用途**:适用于管理编译和链接过程中涉及的静态库、共享库、头文件等依赖关系。
- **资源**:提供相关设计文档和视频教程,帮助用户深入理解新模型。
---
#### 3. **新的 Python 公共 API**
- **模块化 API**:提供了一个公开的、模块化的 Python API,允许用户扩展和自定义 Conan 功能。
- **子 API**:分类功能组(如 `api.list`、`api.search`、`api.graph` 等),支持实现高级用户工作流和自动化任务。
- **用途**:开发者可以利用该 API 创建自定义命令、工具和插件,提升灵活性。
---
#### 4. **新功能与改进**
- **构建系统集成**:新增更灵活和强大的构建系统集成(如 CMakeDeps 和 CMakeToolchain),支持透明集成。
- **用户自定义命令**:允许用户通过 Python API 创建自定义命令,并通过 `conan config install` 分享和安装。
- **CLI 改进**:命令行界面更简洁,输出更结构化,支持更清晰的操作流程。
- **部署机制**:新增部署器机制,允许将构建输出复制到用户指定文件夹,并在构建过程中使用这些文件。
- **包 ID 计算**:改进了 `package_id` 的计算方式,考虑了更详细的依赖关系图。
- **兼容性扩展**:新增 `compatibility.py` 扩展机制,允许用户定义全局二进制兼容性规则。
- **锁文件改进**:锁文件更简单且更具可追溯性,提升依赖管理的可重复性。
- **配置与环境管理**:改进 `[conf]` 和 `conan.tools.env`,提供更强大的环境管理功能。
- **包缓存改进**:支持在同一缓存中存储多个包修订版本。
- **插件扩展**:新增扩展插件,支持配置检查、包签名和构建命令包装。
---
#### 5. **其他资源**
- **文档**:提供详细的 Python API 参考文档和其他使用指南。
- **社区支持**:通过 GitHub 项目和问题跟踪器提供主要支持渠道,用户可在此报告问题、提出功能请求。
---
### 总结
Conan 2.0 通过改进依赖管理模型、提供强大的 Python API 和增强的 CLI 工具,显著提升了 C/C++ 项目的依赖管理能力。其兼容性和灵活性使其成为升级和新项目的重要选择。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
640 页请下载阅读 -
文档评分