~/talk

Using vcpkg in anger

Talkat NDC TechTown 2024 · 2024-09-09..09-12· [c-and-cpp, devops-and-delivery]
links:none on file
slides:none on file

Three years of production use reveals concrete vcpkg pitfalls and workarounds: use manifest mode and always pin a baseline because built‑in baselines change (one Friday commit broke CI), minimal version selection and mixed version schemes let fmt jump from 9.1 to 10 and produce breakage, overrides don’t propagate to transitive deps, Boost subpackages can split across 1.79/1.80 and link incorrectly, default features reappear transitively and can balloon builds to ~45 packages, and custom triplets let you target x64/ARM/Linux/macOS/Windows and enable sanitizers and LTO.

AI-written summary · about

  1. 0:00vcpkg in production
  2. 1:05What this talk is and isn't about
  3. 2:07Manifest vs classic mode
  4. 2:53Need for version baselines
  5. 3:58Built-in baselines dangers
  6. 5:45Minimal version selection
  7. 6:27Baselines override constraints
  8. 8:37Override limitations
  9. 10:42Port availability failures
  10. 11:48Version conflicts
  11. 13:13Version types
  12. 15:20Runtime version mismatches
  13. 16:46Boost compatibility pitfalls
  14. 18:52Boost conflict workarounds
  15. 20:17Default features misfeature
  16. 21:51Transitive default features
  17. 24:18Unnecessary FFmpeg builds
  18. 26:06Helper packages CI issues
  19. 27:51Pinning vcpkg checkout risk
  20. 28:52vcpkg good parts
  21. 29:15Project setup with vcpkg
  22. 30:19Curated baselines benefits
  23. 30:59Exposing build systems
  24. 31:46Customizing with triplets
  25. 32:50CPU features in triplets
  26. 33:34Symbol visibility control
  27. 33:56Sanitizers rebuild needs
  28. 34:38Language standards enforcement
  29. 35:01Link-time optimization
  30. 35:25Advantages over Conan
  31. 37:58Conclusion and when to keep using vcpkg
  32. 39:51Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.