Есть несколько способов управления версиями программы в C++ файле:
1. Использовать автоматическое обновление версии с помощью сценария или утилиты. Можно написать скрипт или использовать существующую утилиту, которая будет автоматически обновлять версию в C++ файле из тегов git. Например, можно использовать утилиту CMake для обновления версии в CMakeLists.txt файле.
2. Использовать переменные окружения или параметры сборки для передачи версии программы во время компиляции. Можно передавать версию программы как параметр компиляции или как значение переменной окружения, которое можно использовать в C++ файле для установки версии.
3. Использовать сценарий pre-build или post-build, который будет автоматически обновлять версию в C++ файле после каждого билда. Можно написать скрипт, который будет извлекать версию из тегов git и обновлять соответствующую часть C++ файла.
Выбор способа зависит от ваших предпочтений и требований проекта.