То, что я собираюсь предложить, по-прежнему требует make-файла, поэтому я частично повторяю совет из предыдущего ответа. Или, как уже упоминалось ранее, возможно, у вас уже есть make-файл, и в этом случае у вас будет еще меньше шагов для выполнения того, что я собираюсь описать.
Как только вы узнаете конкретную команду командной строки Windows для вызова make или g ++ в своем коде, вы создадите «Событие предварительной сборки» в проекте Visual Studio. («Свойства проекта >> Свойства конфигурации >> События сборки >> Событие предварительной сборки»).
Событие предварительной сборки может вызвать сценарий файла bat или любой другой сценарий на вашем компьютере, и этот сценарий сможет вернуть код ошибки. По сути, «сценарий в норме» или «сценарий не выполнен» - это степень связи, которую ваш сценарий может иметь НАЗАД в visual studio.
Скрипт не видит автоматически все переменные среды Visual Studio (такие как $ (InputDir), $ (ProjectDir), $ (SolutionName) и т. Д.), Однако вы можете использовать эти переменные, когда вы указываете, как вызывать скрипт. Другими словами, вы можете передать эти значения сценарию в качестве аргументов.
Настройте это так, чтобы каждый раз, когда вы собирали в Visual Studio, событие перед сборкой ПЕРВЫЙ пыталось запустить make / g ++ в вашем коде. Если ваш скрипт (тот, который вызывает make / g ++) обнаруживает какие-либо проблемы, тогда скрипт возвращает ошибку, и сборка может быть ОСТАНОВЛЕНА прямо здесь и сейчас. Сценарий может печатать в stdout или stderr, и этот вывод должен быть виден вам в окне вывода Visual Studio Build (в этом окне обычно отображаются такие вещи, как "========== Build: 3 успешно, 0 не удалось" ).
Вы можете распечатать скрипт:
"BUILD FAILED, обнаружен непереносимый код, make / g ++ вернул следующее: ........."
Таким образом, вам не нужно периодически переключаться с Visual Studio на командную строку. Это будет сделано автоматически для вас каждый раз, когда вы строите.