Разработка 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]()