How we were upgrading compiler and supporting cross-platform software

Day 1 /  / Track 2  /  RU / Introduction to technology

For a long time, for our codebase containing 2M lines of code and depending on 80 third-party libraries (including MFC) we had been using С++11 in Visual Studio 2013 (only for Windows). Now we're using С++17 in Visual Studio 2017 (for Windows) and GCC 7.3 (for Linux). We'll tell how we solved different challenges that appeared during this transition:

  • Proving to our senior officials that this transition is worth it
  • Using the Conan package manager for third-party libraries assembly
  • VS2017 interaction with CMake and Linux
  • Achieving build reproducibility with the constant updates of VS2017
  • Fixing incompatibilities in code that came with update to С++17