cpprussia C++ Russia 2019 (19.04.2019)

Как мы апгрейдили компилятор и поддерживали кроссплатформенность

img img

Мы долгое время использовали C++11 в Visual Studio 2013 (только под Windows), а теперь используем C++17 в Visual Studio 2017 (под Windows) и GCC 7.3 (под Linux). Расскажем, как мы справились с основными проблемами, с которыми пришлось столкнуться в процессе этого перехода.

Для нашей кодобазы на 2М строк кода с зависимостью от 80 сторонних библиотек (включая MFC) мы долгое время использовали C++11 в Visual Studio 2013 (только под Windows), а теперь используем C++17 в Visual Studio 2017 (под Windows) и GCC 7.3 (под Linux). Расскажем, как мы справились с основными проблемами, с которыми пришлось столкнуться в процессе этого перехода:

  • Обоснование ценности работы для руководства

  • Использование пакетного менеджера Conan для сборки сторонних библиотек

  • Как VS2017 дружит с CMake и Linux

  • Обеспечение воспроизводимости сборок при использовании постоянно обновляющейся VS2017

  • Исправление несовместимостей в коде при обновлении на C++17