Why managing C++ dependencies is hard
summary
Project shows actual pain: a repository with 40 gigabytes of scattered DLLs, a six-month migration cost; dependency managers must resolve graphs, produce lockfiles, and supply compatible binaries or build from source. Concrete tools compared are Conan (package IDs from profile hashes, workspaces, binary reuse), vcpkg, Hunter, CMake FetchContent and system packages; the talk claims Conan saves rebuild time by reusing prebuilt binaries and notes CPS emerging as a standardized package description while reproducible builds remain hard.
AI-written summary · about
chapters (31)
- 0:00Introduction
- 1:43Why dependencies are hard
- 6:36Dependency management basics
- 7:50Semantic versioning
- 13:04Build reproducibility
- 13:40Current C++ practices
- 16:34Dependency managers
- 21:07How managers work
- 22:22Resolving strategies
- 25:11Lockfiles
- 27:47Unique C++ challenges
- 29:48Binary compatibility
- 33:27Build orchestration
- 35:17Package descriptions
- 36:41Common Package Spec
- 38:24Summary and conclusions
- 39:51Q&A: Private repositories
- 42:59Q&A: Python comparison
- 44:25Q&A: Build flags
- 45:39Q&A: CPM manager
- 46:56Q&A: Conan vs vcpkg
- 48:06Q&A: Manager versioning
- 49:23Q&A: Profile management
- 50:20Q&A: Local development
- 51:27Q&A: ABI compatibility
- 52:38Q&A: Security
- 53:42Q&A: Old dependencies
- 55:33Q&A: Migration
- 56:52Q&A: Edge cases
- 58:16Q&A: IDE integration
- 59:35Q&A: Repo organization
related talks
01h 01mLessons Learned from Packaging 10,000+ C++ Projects
01h 03m“C++ Dependency Management: from Package Consumption to Project Development”
49mBuild Systems: a Simple Solution to a Complicated Problem
01h 00mCross-Platform Pitfalls and How to Avoid Them
38mDependency Management: The Cause of—and Solution to—All Supply...
22mYou Don't Know Your Dependencies
45mBuilding C++: It Doesn't Have to be Painful!
36mThe Role of Package Managers as Partners in License and Attribution Compliance
