Разработка MFC в vs2017

Когда я установил vs2017, я выбрал разработку Windows с опцией С++. Однако после установки я не вижу, чтобы MFC был добавлен. Конечно, я получаю ошибки при компиляции моего приложения,

Неустранимая ошибка C1083: Не удается открыть файл include: 'afxwin.h': Нет такого файла или каталога

Я не могу найти параметр Change/Modify с моей установкой vs2017 в панели управления. Как добавить пакет "Microsoft Foundation Classes for С++"?

Ответ 1

Если вы посмотрите в верхней части окна VS Installer, вы увидите Workloads, Individual Components и Language Packs.

По крайней мере, насколько я вижу, ни одна из "рабочих нагрузок" не будет включать MFC в вашу установку. Чтобы получить его, сначала нужно нажать "Отдельные компоненты", а затем прокрутить довольно далеко вниз, чтобы перейти к разделу "SDK, библиотеки и фреймворки". Там вы найдете список компонентов для поддержки ATL и MFC:

enter image description here

В установщике VS 2019 список возможностей стал еще длиннее. Существуют версии для ARM, ARM64 и x86/x64 как с уменьшением спектра, так и без него, для каждого из 141 и 142 наборов сборки:

enter image description here

Это не обязательно конец истории, хотя: по умолчанию, даже когда вы устанавливаете это, он только устанавливает версию Unicode сборки MFC. Если вам нужна версия с узкими символами, вы должны установить ее отдельно. Я не думаю, что в установщике есть какая-либо запись для этого, но если вы попытаетесь построить проект, который использует узкополосный MFC, вы получите сообщение об ошибке, содержащее ссылку для его загрузки.

Ответ 2

В Windows 10 с Visual Studio 2017 Community Edition, чтобы изменить установку Visual Studio 2017, мне пришлось зайти в "Настройки" из меню "Пуск" Windows, затем в поле поиска ввести "Приложения и компоненты", чтобы вызвать список установленных приложений (просто достаточно ввести "приложения", чтобы отобразить его в списке).

Затем я посмотрел на Microsoft Visual Studio 2017 в списке приложений, нажал на эту запись, которая затем отображала кнопку Изменить. Нажатие на кнопку "Изменить" вызовет установщик, который позволит вам изменять различные компоненты.

Я видел случаи, когда установщик хочет выполнить обновление Visual Studio 2017, прежде чем позволить вам выполнить действие Изменить. Зависит от того, когда вы последний раз пользовались им, и когда вы в последний раз делали обновление.

Поэтому вместо кнопки "Изменить" может быть кнопка "Обновить".

image of first dialog for Modify Visual Studio 2017 install

Диалоговое окно VS 2017 Modify имеет три вкладки: "Рабочие нагрузки", "Отдельные компоненты" и "Языковые пакеты". Нажмите "Отдельные компоненты", затем прокрутите вниз до раздела "SDK, библиотеки и фреймворки", который является последним разделом в моей установке. Должна быть запись "Поддержка MFC и ATL (x86 и x64)" с флажком в конце.

image of Modify dialog showing the tabs

image of Modify dialog with Individual components tab showing MFC checkbox

В этом представлении "Отдельные компоненты" диалогового окна "Изменить установку" доступно много материалов.

Ответ 3

Чтобы внести изменения, вы должны использовать Установщик Visual Studio.

Чтобы создать проект MFC, вам просто нужно выбрать Win32 project/Win32 Console Application для вашего типа приложения, а затем нажмите ОК. В Мастере приложений нажмите далее, в Параметры приложения, отметьте MFC в разделе Добавить общие файлы заголовков для:.

Ответ 4

Просто добавьте подсказку для VS 2019:

@Jerry Coffin answer отлично справляется со своей задачей по развертыванию набора опций MFC/ATL в VS 2019. Поскольку существует множество опций, и каждый пакет MFC имеет размер 1,1 + ГБ, вот как выбрать правильный вариант.

Платформа: Надеюсь, вы это знаете :), но это в свойствах проекта.

Версия: Для существующего проекта он находится в свойствах проекта в "Свойства конфигурации → Общие → Набор инструментов платформы"

Ниже приведен скриншот с обоими (в данном случае Win32 = x86). В этом случае мне нужно было "C++ MFC для инструментов сборки v141 (x86 и x64)": Screenshot of project properties