일반 속성 페이지(프로젝트)

이 문서는 Windows용 Visual Studio 프로젝트에 적용됩니다. Linux 프로젝트의 경우 Linux C++ 속성 페이지 참조를 참조하세요. CMake 프로젝트의 경우 Visual Studio의 CMake 프로젝트를 참조 하세요. Android 프로젝트의 경우 일반 프로젝트 속성(Android C++)을 참조하세요. Android 메이크파일 프로젝트의 경우 일반 프로젝트 속성(Android C++ 메이크파일)을 참조하세요. Visual Studio 2019에서는 UWP가 아닌 프로젝트(Windows 런타임 또는 유니버설 Windows 플랫폼) 프로젝트의 일부 속성이 고급 속성 페이지이동되었습니다.

프로젝트에 대한 속성 페이지 대화 상자를 열려면 솔루션 탐색기 프로젝트(솔루션 아님)를 선택합니다. 다음으로 메뉴 모음에서 프로젝트>프로젝트 이름 속성 메뉴를 선택합니다. 또는 솔루션 탐색기 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 속성을 선택합니다.

속성 페이지 대화 상자에서 구성 속성>일반 속성 페이지에는 프로젝트 형식에 따라 프로젝트 속성이 표시됩니다. 이러한 속성은 프로젝트 유형에 따라 하나 또는 두 개의 머리글 아래에 수집됩니다.

  • 일반

  • 프로젝트 기본값

일반

일반 속성 제목에는 다음과 같은 속성의 일부 조합이 포함됩니다.

대상 플랫폼

프로젝트가 실행되는 플랫폼을 지정합니다. 예를 들어 Windows, Android 또는 iOS입니다. 값이 Windows 10이면 프로젝트가 유니버설 Windows 플랫폼을 대상으로 합니다. 다른 버전의 Windows를 대상으로 하는 경우 버전은 나열되지 않으며 이 필드의 값은 Windows표시됩니다. 이 속성은 프로젝트를 만들 때 설정되는 읽기 전용 필드입니다.

대상 플랫폼 버전

프로젝트를 빌드하는 데 사용되는 Windows SDK의 버전을 지정합니다. 이 속성은 프로젝트 형식이 지원하는 경우에만 나타납니다. 10.0을 선택하여 최신 버전의 Windows SDK를 지정할 수 있습니다. 앱이 이 Windows SDK 버전의 기능을 활용할 수 있지만 이러한 기능 없이도 이전 버전에서 계속 실행할 수 있는 경우 기능 손실이 있을 수 있습니다. 이 속성의 값과 대상 플랫폼 최소 버전 속성은 다를 수 있습니다. 그렇다면 코드는 런타임에 실행되는 플랫폼 버전을 검사 이전 플랫폼 버전에서 사용할 수 없는 기능을 사용하지 않도록 설정해야 합니다.

대상 플랫폼 최소. 버전

프로젝트를 실행할 수 있는 가장 낮은 플랫폼 버전을 지정합니다. 이 속성은 프로젝트 형식이 지원하는 경우에만 나타납니다. 앱이 최신 Windows SDK 버전의 기능을 활용할 수 있지만 일부 기능이 손실된 이전 버전에서 계속 실행되는 경우 이 값을 설정합니다. 더 낮은 값으로 설정된 경우 코드는 런타임에 실행되는 플랫폼의 버전을 검사 합니다. 그런 다음 이전 플랫폼 버전에서 사용할 수 없는 기능을 사용하지 않도록 설정합니다.

C++ 프로젝트 시스템은 이 옵션을 적용하지 않습니다. C# 및 JavaScript와 같은 다른 언어와의 일관성과 프로젝트를 사용하는 모든 사용자를 위한 가이드로 포함되어 있습니다. Microsoft C++는 최소 버전에서 사용할 수 없는 기능을 사용하는 경우 오류를 생성하지 않습니다.

Windows SDK 버전

Windows 대상 플랫폼의 경우 이 속성은 프로젝트에 필요한 Windows SDK의 버전을 지정합니다. Visual Studio 설치 관리자 C++ 워크로드를 설치하면 Windows SDK의 필수 부분도 설치됩니다. 컴퓨터에 다른 Windows SDK 버전이 있는 경우 설치된 각 버전이 드롭다운에 표시됩니다.

Windows 7 또는 Windows Vista를 대상으로 하려면 해당 플랫폼에 대해 Windows SDK 8.1이 이전 버전과 호환되므로 8.1 값을 사용합니다. 이전 버전을 대상으로 하는 경우 에 적절한 _WIN32_WINNTtargetver.h값을 정의합니다. Windows 7의 경우 0x0601입니다. 자세한 내용은 수정 및 _WIN32_WINNT을 참조하세요WINVER.

Visual Studio 설치 관리자 선택적 구성 요소로 포함된 Windows XP 플랫폼 도구 집합을 설치하여 Windows XP 및 Windows 2003 서버 프로젝트를 빌드할 수 있습니다. 이 플랫폼 도구 집합을 가져오고 사용하는 방법에 대한 자세한 내용은 Windows XP용 프로그램 구성을 참조하세요. 플랫폼 도구 집합 변경에 대한 자세한 내용은 방법: 대상 프레임워크 및 플랫폼 도구 집합 수정을 참조 하세요.

출력 디렉터리

링커와 같은 빌드 도구가 빌드 프로세스 중에 만든 모든 최종 출력 파일을 배치하는 디렉터리를 지정합니다. 일반적으로 이 디렉터리에는 링커, 사서 또는 BSCMake와 같은 도구의 출력이 포함됩니다. 기본적으로 이 속성은 매크로 조합 $(SolutionDir)$(Configuration)\으로 지정된 디렉터리입니다.

프로그래밍 방식으로 이 속성에 액세스하려면 OutputDirectory을 참조하세요.

중간 디렉터리

컴파일러와 같은 도구가 빌드 프로세스 중에 만든 모든 중간 파일을 배치하는 디렉터리를 지정합니다. 일반적으로 이 디렉터리에는 C/C++ 컴파일러, MIDL 및 리소스 컴파일러와 같은 도구의 출력이 포함됩니다. 기본적으로 이 속성은 매크로 $(Configuration)\에서 지정한 디렉터리입니다.

프로그래밍 방식으로 이 속성에 액세스하려면 IntermediateDirectory을 참조하세요.

대상 이름

이 프로젝트에서 생성하는 파일 이름을 지정합니다. 기본적으로 이 속성은 매크로 $(ProjectName)에서 지정한 파일 이름입니다.

대상 확장명

이 프로젝트에서 생성하는 파일 확장명입니다(예: .exe / .dll>). 일부 Visual Studio 2019 프로젝트 형식의 경우 이 속성이 고급 속성 페이지이동되었습니다.

정리할 때 삭제할 확장명

새로 만들기> 메뉴 명령은 프로젝트의 구성이 빌드된 중간 디렉터리에서 파일을 삭제합니다. Clean 명령을 실행 하거나 다시 빌드할 때 빌드 시스템에서 지정된 확장명이 있는 파일을 삭제합니다. 또한 빌드 시스템은 어디에 있든 빌드의 알려진 출력을 삭제합니다. 삭제된 파일에는 파일과 같은 .obj 중간 출력이 포함됩니다. 세미콜론(;)을 사용하여 확장을 구분합니다. 확장에서 wild카드 문자(*, ?)를 지정할 수 있습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 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 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

구성 유형

프로젝트 출력 및 필요한 도구를 지정합니다. UWP 프로젝트에서 이 속성은 프로젝트 기본값 제목 아래에 나타납니다. 프로젝트 형식에 따라 선택할 수 있는 몇 가지 구성 유형이 있습니다.

애플리케이션(.exe)

링커 도구 집합을 표시합니다. C/C++ 컴파일러, MIDL, 리소스 컴파일러, 링커, BSCMake, XML 웹 서비스 프록시 생성기, 사용자 지정 빌드, 사전 빌드, 사전 링크 및 사후 빌드 이벤트.

동적 라이브러리(.dll)

링커 도구 집합을 표시하고 링커 옵션을 지정 /DLL 하며 CL 명령줄에 전처리기 정의를 추가합니다 _WINDLL .

Makefile

메이크파일 도구 집합(NMake)을 표시합니다.

정적 라이브러리(.lib)

사서 도구 집합을 표시합니다. 링커를 사서로 바꾸고 XML 웹 서비스 프록시 생성기를 생략하는 것을 제외하고는 링커 도구 집합과 동일합니다.

Utility

유틸리티 도구 집합(MIDL, 사용자 지정 빌드, 사전 빌드 및 포스트빌드 이벤트)을 표시합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 ConfigurationType을 참조하세요.

C++ 언어 표준

사용할 C++ 언어 표준을 지정합니다. 기본값은 /std:c++14입니다. C++17 기능을 사용하고, /std:c++20 C++20 기능을 사용하고, /std:c++latest 제안된 C++23 기능 또는 기타 실험적 기능을 사용하도록 지정 /std:c++17 합니다. 자세한 내용은 (언어 표준 버전 지정)을 참조 /std 하세요.

C 언어 표준

사용할 C 언어 표준을 지정합니다. 기본값은 C89, 일부 C99 및 Microsoft 관련 확장을 구현하는 레거시 MSVC입니다. C11 기능을 사용하고 C17 기능을 /std:c17 사용하도록 지정 /std:c11 합니다. 자세한 내용은 (언어 표준 버전 지정)을 참조 /std 하세요.

프로젝트 기본값

구성 유형

프로젝트 출력 및 필요한 도구를 지정합니다. UWP 프로젝트에서 이 속성은 프로젝트 기본값 제목 아래에 나타납니다. 프로젝트 형식에 따라 선택할 수 있는 몇 가지 구성 유형이 있습니다.

애플리케이션(.exe)

링커 도구 집합을 표시합니다. C/C++ 컴파일러, MIDL, 리소스 컴파일러, 링커, BSCMake, XML 웹 서비스 프록시 생성기, 사용자 지정 빌드, 사전 빌드, 사전 링크 및 사후 빌드 이벤트.

동적 라이브러리(.dll)

링커 도구 집합을 표시하고 링커 옵션을 지정 /DLL 하며 CL 명령줄에 전처리기 정의를 추가합니다 _WINDLL .

Makefile

메이크파일 도구 집합(NMake)을 표시합니다.

정적 라이브러리(.lib)

사서 도구 집합을 표시합니다. 링커를 사서로 바꾸고 XML 웹 서비스 프록시 생성기를 생략하는 것을 제외하고는 링커 도구 집합과 동일합니다.

Utility

유틸리티 도구 집합(MIDL, 사용자 지정 빌드, 사전 빌드 및 포스트빌드 이벤트)을 표시합니다.

프로그래밍 방식으로 이 속성에 액세스하려면 ConfigurationType을 참조하세요.

MFC 사용

MFC 프로젝트가 정적으로 또는 동적으로 MFC DLL에 연결되는지 여부를 지정합니다. MFC가 아닌 프로젝트는 표준 Windows 라이브러리 사용을 선택합니다. Visual Studio 2019 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 useOfMfc을 참조하세요.

문자 집합

전처리기 매크로를 _UNICODE_MBCS 설정할지 여부를 지정합니다. 적절한 경우 링커 진입점에도 영향을 줍니다. Visual Studio 2019 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 CharacterSet을 참조하세요.

공용 언어 런타임 지원

/clr 컴파일러 옵션을 사용하도록 합니다. Visual Studio 2019 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

프로그래밍 방식으로 이 속성에 액세스하려면 ManagedExtensions을 참조하세요.

.NET 대상 프레임워크 버전

관리 프로젝트에서 대상으로 지정할 .NET Framework 버전을 지정합니다. Visual Studio 2019 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

전체 프로그램 최적화

컴파일러 옵션 및 /LTCG 링커 옵션을 지정 /GL 합니다. 기본적으로 이 속성은 디버그 구성에 사용할 수 없으며 릴리스 구성에 대해 사용하도록 설정됩니다. Visual Studio 2019 프로젝트에서 이 속성은 고급 속성 페이지이동되었습니다.

Windows Store 앱 지원

이 프로젝트에서 Windows 런타임(유니버설 Windows 플랫폼 또는 UWP) 앱을 지원하는지 여부를 지정합니다. 자세한 내용은 (Windows 런타임 컴파일) 및 Windows 개발자 UWP 설명서를 참조 /ZW 하세요.

Windows 데스크톱 호환

이 Windows 런타임 프로젝트의 출력이 데스크톱 앱도 지원할 수 있도록 합니다. 이 속성은 프로젝트 파일의 <DesktopCompatible> 값을 설정합니다. Windows 데스크톱 호환 속성은 Visual Studio 2019 버전 16.9부터 사용할 수 있습니다.

참고 항목

C++ 프로젝트 속성 페이지 참조