视频¶
警告
本节介绍一些关于 Conan 的会议演讲和演示。虽然它们可能非常信息丰富且具有教育意义,但请注意,其中一些可能已过时。始终使用文档和参考作为事实来源,而不是视频。
ACCU 2025¶
使用 Conan2 进行大规模 C/C++ 项目的持续集成 作者:Diego Rodriguez-Losada
开发大规模 C、C++ 项目有两种主要范例:使用单体仓库(mono-repos)和基于包的开发,两者各有优缺点。使用 Conan 等包管理器可以轻松检索依赖项,包括二进制文件,从而避免了从源代码进行持续且昂贵的重新构建。虽然这对于第三方依赖项来说很容易实现,但当依赖项非常稳定时,在大规模依赖关系图中,当不同开发人员同时在不同包上工作时,快速演进可能会更具挑战性。
借助 Conan 2 的新工具,可以为大规模项目实现高效的持续集成流程,计算需要构建哪些包,以及具体的构建顺序和并行度。
将引入“产品管道”(products pipeline)的概念,这是一种可扩展的方法,可将重点放在业务价值上,同时提高效率。可以为每个不同的产品计算依赖关系图的构建顺序,针对每种不同的配置(平台、编译器、构建类型等)。这是高效完成的,同时考虑了版本控制方案和包类型(仅头文件、静态库、共享库、应用程序),并采用一种明确的新颖模型来描述依赖关系对包二进制文件的影响。
然后,可以将所有不同的计算出的图“构建顺序”(build-orders)合并为一个,以避免重复构建。最终合并的图“构建顺序”可以高效地分发到不同的构建代理,因为它还指定了哪些包构建可以并行进行。对于具有并发更改的项目,在此阶段使用锁文件(lockfiles)对于保证依赖项的一致性和可重复性非常重要。
最后,将介绍在 CI 流程中使用多个服务器存储库和包跨存储库复制的阶段概念。这个过程被称为包提升(package promotions),是 DevOps 中其他技术的一种已知最佳实践,对于避免 CI 构建对开发人员和生产系统造成的干扰至关重要。
本次演讲将介绍理论基础和一个完整的实际示例,并提供可用的源代码来演示所介绍的功能。
使用 std::cpp 2024¶
解锁 Conan 2 的强大功能 - 15 个你不知道的新功能!Luis Caro / Diego Rodriguez-Losada
Conan 2.0 一年前发布,带来了大量新功能和改进。自发布以来,团队根据用户反馈不断进行改进,发布的新功能数量比以往任何一年加起来还要多。加入 Conan 团队的 Diego 和 Luis,了解 Conan 2 为您的 C 和 C++ 包管理开发工作流提供的实用示例概述。一些亮点包括:透明地回退到系统提供的依赖项、管理元数据文件、灵活且完全透明的 CMake 集成,以及更多!
ACCU 2022¶
Conan 2.0 C、C++ 包管理器的高级依赖模型 作者:Diego Rodriguez-Losada
Conan 2.0 引入了一个新的依赖模型,具有“特征”(traits)的依赖项,如可见性、头文件和库的独立定义和传播等,这些功能可以实现所有这些高级用例。本次演讲将介绍这个新模型,并将其应用于解决不同的高级用例,并提供真实生活示例。
CppCon 2022¶
Conan 2.0 C/C++ 包管理器的新功能 - Diego Rodriguez-Losada
自 Conan 1.0 发布以来,我们一直在关注 C++ 生态系统的发展,并从中学习。通过与成千上万的用户和客户的对话,包括许多世界上最大的 C++ 相关公司,我们学到了许多经验教训、挑战和行业趋势。本次演讲总结了一些这些经验教训,以及它们是如何被用来创建 Conan 的新主要版本的。
Meeting C++ 2023¶
CMake 和 Conan:过去、现在和未来 - Diego Rodriguez-Losada
本次演讲将快速回顾过去的方法、它们的缺点,以及现代 CMake 和 Conan 集成是如何改进它们的。从变量到目标,再到使用现代 Conan 生成器的透明目标集成。更好地分离关注点,以使用 CMake 工具链对齐二进制配置。使用 CMake 预设(presets)改善开发人员体验。使用 CMake 的新依赖项提供程序(dependency providers)功能进行透明依赖项安装的新的 CMake-Conan 集成。
使用 std::cpp¶
为什么你不应该编写自己的 C++ 包管理器 Luis Caro Campos JFrog
本次演讲将快速概述 Conan 如何处理 C++ 的内在复杂性。头文件与二进制符号共享库和静态库符号可见性二进制兼容性:是否有放之四海而皆准的模型?构建时依赖解析只是战斗的一半,运行时依赖又如何?
Meeting C++ 在线书籍和工具展¶
Conan 2.0 演示 - Chris McArthur