Для проектов makefile принятое решение терпит неудачу из-за ошибки в Visual Studio (которая присутствует по крайней мере до версии 2012 - я еще не тестировал 2013). Эта ошибка подробно описана здесь .
Чтобы консоль приостановилась после завершения программы в проекте makefile, выполните следующие действия (это может отличаться для версий, отличных от 2010 - 2012):
1) Перейдите /SUBSYSTEM:CONSOLE
на компоновщик. - РЕДАКТИРОВАТЬ : см. Ниже.
2) Откройте файл вашего проекта (.vcxproj) в текстовом редакторе.
3) Внутри корневого <project>
тега вставьте следующее:
<ItemDefinitionGroup>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
4) Перезагрузите проект в вашем решении.
5) Запустите программу без отладки (CTRL + F5).
РЕДАКТИРОВАТЬ:
Согласно моему комментарию ниже, установка опции компоновщика на /SUBSYSTEM:CONSOLE
самом деле не имеет значения для проектов makefile (и не обязательно даже возможна, если вы используете компилятор, отличный от MSVC). Все, что имеет значение, это то, что параметр добавляется в файл .vcxproj, как описано в шаге 3 выше.