Thursday
Room 4
09:00 - 10:00
(UTC+02)
Talk (60 min)
How to Port Your C++ Codebase to Modules
Everyone has seen the C++20 modules demo. Import your module, get faster builds, no more header guards. It works cleanly in the demo. Then you try it in your actual project, and the demo ends.
For years, "wait for compiler support" was a reasonable answer. Not anymore. GCC, Clang, and MSVC have all shipped modules support, with caveats. The question has shifted from *can we use modules* to *how do we actually introduce them into a real codebase*.
Porting a cross-platform project is a different exercise than understanding modules. What lives inside that gap is not in the tutorials. Some things break silently. Some break loudly. Some design decisions are hard to reverse once you've made them. And the compiler behavior you will hit in practice diverges in ways that will matter to your project.
This talk is a practical porting guide built from experience migrating real C++ codebases where supporting multiple compilers simultaneously is a hard requirement, not a nice-to-have. You leave with a migration strategy you can apply to your own codebase and a clear picture of where the toolchain is ready and where it still isn't.
