Страница свойств "Общие" (проект)
Эта статья относится к проектам Visual Studio для Windows. Сведения о проектах Linux см . на странице свойств Linux C++. Сведения о проектах CMake см. в проектах CMake в Visual Studio. Для проектов Android см. общие свойства проекта (Android C++). Сведения о проектах Android Makefile см. в разделе "Общие свойства проекта" (Android C++ Makefile). В Visual Studio 2019 некоторые свойства для проектов, отличных от UWP (среда выполнения Windows или универсальная платформа Windows), перемещены на страницу свойств Advanced.
Чтобы открыть диалоговое окно "Страницы свойств" для проекта, выберите проект (а не решение) в Обозреватель решений. Затем в строке меню меню выберите >меню "Свойства проекта проекта- имя". Или щелкните правой кнопкой мыши узел проекта в Обозреватель решений и выберите пункт "Свойства" в контекстном меню.
В диалоговом окне "Страницы свойств свойств" страница "Общие свойства конфигурации>" отображает свойства проекта на основе типа проекта. Эти свойства собираются под одним или двумя заголовками в зависимости от типа проекта:
Общие
Значения по умолчанию для проекта
Общие
Заголовок общего свойства включает в себя некоторые сочетания этих свойств:
Целевая платформа
Указывает платформу, на которой выполняется проект. Например, Windows, Android или iOS. Значение Windows 10 означает, что проект ориентирован на универсальную платформу Windows. Если вы используете другие версии Windows, версия не указана, а значение в этом поле отображается как только Windows. Это свойство является полем только для чтения, которое устанавливается при создании проекта.
Версия целевой платформы
Указывает версию пакета SDK для Windows, используемую для сборки проекта. Это свойство отображается только в том случае, если тип проекта поддерживает его. Чтобы указать последнюю версию пакета SDK для Windows, можно выбрать 10.0. Если ваше приложение может воспользоваться преимуществами функций в этой версии пакета SDK для Windows, но по-прежнему может работать на более ранних версиях без этих функций, возможно, с потерей функциональности, то значение этого свойства и свойства целевой платформы Min. Версия может отличаться. Если это так, код должен проверить версию платформы, которая выполняется в среде выполнения, и отключить функции, недоступные в более ранних версиях платформы.
Целевая платформа min. Версия
Указывает самую раннюю версию платформы, где проект может работать. Это свойство отображается только в том случае, если тип проекта поддерживает его. Задайте это значение, если приложение может воспользоваться преимуществами функций в более новой версии пакета SDK для Windows, но по-прежнему выполняется в более ранних версиях, возможно, с потерей функциональности. Если задано меньшее значение, код должен проверить версию платформы, которую она выполняет в среде выполнения. Затем отключите функции, недоступные в более ранних версиях платформы.
Система проектов C++ не применяет этот параметр. Он включается в соответствие с другими языками, такими как C# и JavaScript, а также в качестве руководства для всех, кто использует проект. Microsoft C++ не создаст ошибку, если вы используете функцию, которая недоступна в минимальной версии.
Версия пакета SDK для Windows
Для целевой платформы Windows это свойство указывает версию пакета SDK для Windows, которую требует проект. Когда установщик Visual Studio устанавливает рабочую нагрузку C++, он также устанавливает необходимые части пакета SDK для Windows. Если на компьютере установлены другие версии пакета SDK для Windows, в раскрывающемся списке появится каждая версия.
Чтобы ориентироваться на Windows 7 или Windows Vista, используйте значение 8.1, так как пакет Windows SDK 8.1 имеет обратную совместимость с этими платформами. Если вы нацелены на более раннюю версию, определите соответствующее значение _WIN32_WINNT
в targetver.h
. Для Windows 7 оно равно 0x0601. Дополнительные сведения см. в разделе "Изменение WINVER
и _WIN32_WINNT
".
Набор инструментов платформы Windows XP можно установить как дополнительный компонент в Visual Studio Installer для создания проектов Windows XP и Windows 2003 Server. Сведения о том, как получить и использовать этот набор инструментов платформы, см. в разделе "Настройка программ для Windows XP". Дополнительные сведения об изменении набора инструментов платформы см. в статье "Практическое руководство. Изменение целевой платформы и набора инструментов платформы".
Выходной каталог
Указывает каталог, в котором средства сборки, такие как компоновщик, помещает все конечные выходные файлы, созданные во время процесса сборки. Как правило, этот каталог содержит выходные данные таких средств, как компоновщик, библиотекарь или BSCMake. По умолчанию это свойство является каталогом, заданным сочетанием $(SolutionDir)$(Configuration)\
макросов.
Для программного доступа к этому свойству см. раздел OutputDirectory.
Промежуточный каталог
Указывает каталог, в котором такие средства, как компилятор, помещает все промежуточные файлы, созданные во время процесса сборки. Как правило, этот каталог содержит выходные данные средств, таких как компилятор C/C++, MIDL и компилятор ресурсов. По умолчанию это свойство является каталогом, заданным макросом $(Configuration)\
.
Для программного доступа к этому свойству см. раздел IntermediateDirectory.
Target Name
Задает имя файла, который создает этот проект. По умолчанию это свойство является именем файла, указанным макросом $(ProjectName)
.
Расширение цели
Указывает расширение файла, которое создает этот проект, например .exe
или .dll
. Для некоторых типов проектов Visual Studio 2019 это свойство перемещено на страницу расширенных свойств.
Расширения для удаления при очистке
Команда меню "Очистка сборки>" удаляет файлы из промежуточного каталога, в котором создается конфигурация проекта. Система сборки удаляет файлы с указанными расширениями при выполнении команды Clean или при перестроении. Система сборки также удаляет все известные выходные данные сборки независимо от расположения. Удаленные файлы включают любые промежуточные выходные данные, такие как .obj
файлы. Используйте запятую (;
) для разделения расширений. В расширениях можно указать подстановочные знаки (*
, ?
).
Для программного доступа к этому свойству см. раздел DeleteExtensionsOnClean. Для некоторых типов проектов Visual Studio 2019 это свойство перемещено на страницу расширенных свойств.
Файл журнала сборки
Позволяет указать расположение, отличное от по умолчанию, для файла журнала, созданного при создании проекта. Расположение по умолчанию указывается сочетанием $(IntDir)$(MSBuildProjectName).log
макросов. Для некоторых типов проектов Visual Studio 2019 это свойство перемещено на страницу расширенных свойств.
Вы можете использовать макросы проекта, чтобы изменить расположение этого каталога. Дополнительные сведения см. в разделе "Общие макросы" для команд и свойств сборки.
Набор инструментов платформы
Задает набор инструментов, используемый для сборки текущей конфигурации. Это свойство позволяет проекту использовать другую версию библиотек и компилятора Visual C++. По умолчанию проекты Visual Studio C++ предназначены для последнего набора инструментов, установленного Visual Studio. Вместо этого можно выбрать один из наборов инструментов, установленных несколькими предыдущими версиями Visual Studio. Некоторые старые наборы инструментов могут создавать исполняемые файлы, которые выполняются в Windows XP или Vista. Дополнительные сведения об изменении набора инструментов платформы см. в статье "Практическое руководство. Изменение целевой платформы и набора инструментов платформы".
Разрешить управляемую добавочную сборку
Для управляемых проектов это свойство обеспечивает обнаружение внешнего видимости при создании сборок. Если изменение управляемого проекта не отображается для других проектов, зависимые проекты не будут перестроены. Этот параметр может значительно повысить время сборки в решениях, включающих управляемые проекты. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Тип конфигурации
Указывает выходные данные проекта и необходимые средства. В проектах UWP это свойство отображается в заголовке Project Defaults . В зависимости от типа проекта можно выбрать несколько типов конфигураций.
Приложение (.exe)
Отображает набор инструментов компоновщика: компилятор C/C++, MIDL, компилятор ресурсов, компоновщик, BSCMake, генератор прокси-сервера веб-службы XML, настраиваемая сборка, предварительная сборка, предварительная связь и события после сборки.
Динамическая библиотека (.dll)
Отображает набор инструментов компоновщика, задает /DLL
параметр компоновщика и добавляет _WINDLL
определение препроцессора в командную строку CL.
Makefile
Отображает набор инструментов makefile (NMake).
Статическая библиотека (LIB)
Отображает набор инструментов библиотеки. Это то же, что и набор инструментов компоновщика, за исключением замены компоновщика на библиотекарь и опомнитель прокси-сервера веб-службы XML.
Utility
Отображает набор инструментов служебной программы (MIDL, пользовательские сборки, предварительные сборки и события после сборки).
Для программного доступа к этому свойству см. раздел ConfigurationType.
Стандарт языка C++
Указывает, какой стандарт языка C++ следует использовать. Значение по умолчанию — /std:c++14
. Укажите /std:c++17
использование функций C++17, /std:c++20
использования функций C++20 и /std:c++latest
использования предлагаемых функций C++23 или других экспериментальных функций. Дополнительные сведения см. в разделе /std
(Указание стандартной версии языка).
Стандарт языка C
Указывает, какой стандарт языка C следует использовать. По умолчанию используется устаревшая версия MSVC, которая реализует C89, некоторые из расширений C99 и Майкрософт. Укажите /std:c11
использование функций C11 и /std:c17
использовать функции C17. Дополнительные сведения см. в разделе /std
(Указание стандартной версии языка)
Значения по умолчанию для проекта
Тип конфигурации
Указывает выходные данные проекта и необходимые средства. В проектах UWP это свойство отображается в заголовке Project Defaults . В зависимости от типа проекта можно выбрать несколько типов конфигураций.
Приложение (.exe)
Отображает набор инструментов компоновщика: компилятор C/C++, MIDL, компилятор ресурсов, компоновщик, BSCMake, генератор прокси-сервера веб-службы XML, настраиваемая сборка, предварительная сборка, предварительная связь и события после сборки.
Динамическая библиотека (.dll)
Отображает набор инструментов компоновщика, задает /DLL
параметр компоновщика и добавляет _WINDLL
определение препроцессора в командную строку CL.
Makefile
Отображает набор инструментов makefile (NMake).
Статическая библиотека (LIB)
Отображает набор инструментов библиотеки. Это то же, что и набор инструментов компоновщика, за исключением замены компоновщика на библиотекарь и опомнитель прокси-сервера веб-службы XML.
Utility
Отображает набор инструментов служебной программы (MIDL, пользовательские сборки, предварительные сборки и события после сборки).
Для программного доступа к этому свойству см. раздел ConfigurationType.
Использование MFC
Указывает, является ли проект MFC статическим или динамически связан с библиотекой DLL MFC. Проекты, отличные от MFC, выбирают использование стандартных библиотек Windows. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Для программного доступа к этому свойству см. раздел useOfMfc.
Кодировка
Указывает, следует ли _UNICODE
задать макрос или _MBCS
препроцессор. Также влияет на точку входа компоновщика, где это необходимо. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Для программного доступа к этому свойству см. раздел CharacterSet.
Поддержка общеязыковой среды выполнения (CLR)
Вызывает использование параметра компилятора /clr
. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Для программного доступа к этому свойству см. раздел ManagedExtensions.
Целевая версия платформы .NET Framework
В управляемых проектах определяет целевую версию .NET Framework. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Оптимизация всей программы
Указывает /GL
параметр компилятора и /LTCG
параметр компоновщика. По умолчанию это свойство отключено для конфигураций отладки и включено для конфигураций выпуска. В проектах Visual Studio 2019 это свойство перемещено на страницу свойств Advanced.
Поддержка приложений для Магазина Windows
Указывает, поддерживает ли этот проект приложения среда выполнения Windows (универсальная платформа Windows или UWP). Дополнительные сведения см. в разделе /ZW
(компиляция среда выполнения Windows) и документации по UWP разработчика Windows.
Совместимость с рабочим столом Windows
Позволяет выходным данным этого проекта среда выполнения Windows также поддерживать классические приложения. Это свойство задает <DesktopCompatible>
значение в файле проекта. Свойство , совместимое с рабочим столом Windows, доступно начиная с Visual Studio 2019 версии 16.9.