속성 페이지(C++)
업데이트: 2007년 11월
프로젝트 속성 페이지는 프로젝트 설정을 지정하고 프로젝트에 적용할 수 있는 Visual Studio 사용자 인터페이스 요소입니다.
프로젝트를 선택한 다음 바로 가기 메뉴에서 속성을 클릭하거나 프로젝트 메뉴에서 속성을 클릭하여 속성 페이지에 액세스합니다. 속성 페이지 대화 상자에서 값을 지정하면 해당 값은 솔루션 탐색기에서 선택된 프로젝트에 적용됩니다.
프로젝트 설정을 지정하고 모든 빌드 구성에 적용하거나 각 빌드 구성에 대해 별도의 프로젝트 속성을 지정할 수 있습니다. 예를 들어, 디버그 구성에 적용되지 않는 릴리스 구성에 대한 설정을 지정할 수 있습니다.
속성 페이지는 동적이므로 프로젝트의 파일 형식에 따라 페이지가 다르게 표시됩니다. 예를 들어, 프로젝트에 .idl 파일이 없으면 속성 페이지 대화 상자에 IDL 속성 페이지가 표시되지 않습니다.
자세한 내용은 방법: 속성 페이지로 프로젝트 속성 지정을 참조하십시오.
기본 속성 및 수정한 속성
일부 속성 값은 값이 변경되었다는 의미로 굵게 나타납니다. 솔루션 탐색기에서 프로젝트 노드가 선택된 경우 프로젝트 수준에서 속성의 기본 설정은 대개 도구에 대한 해당 속성의 기본값에 해당합니다. 예를 들어, Win32 프로젝트의 경우 컴파일러의 코드 생성 속성 페이지에서 문자열 풀링 사용 속성은 처음에 아니요(굵게 표시되지 않음)로 설정됩니다. 이것은 프로젝트의 기본 설정과 일치하지 않는다는 것을 의미합니다. 명령줄에서 CL.exe를 사용하는 경우 /GF는 사용자가 지정하는 경우에만 적용됩니다.
사용자나 응용 프로그램 마법사에서 속성을 변경하면 속성 값이 굵게 표시됩니다. 예를 들어, 동일한 코드 생성 속성 페이지에서 전체 런타임 검사 속성의 경우 /RTC1이 적용됩니다. 명령줄에서는 기본적으로 /RTC1이 유효하지 않습니다. 이 경우 응용 프로그램 마법사에서 속성에 대한 프로젝트 기본값 설정을 변경한 것입니다.
프로젝트 기본값의 일부가 노출되고 사용자에 의해 수정될 수 있습니다. 자세한 내용은 일반 속성 페이지(프로젝트)의 프로젝트 기본값 단원을 참조하십시오.
속성 다시 설정
프로젝트의 속성 페이지 대화 상자를 보거나 솔루션 탐색기에서 프로젝트 노드를 선택한 경우 모든 속성에 대해 **<프로젝트 기본값에서 상속>**을 선택할 수 있습니다.
적용을 클릭하면 속성을 프로젝트의 기본값으로 다시 설정할 때 사용자가 마지막으로 선택한 항목으로 속성 페이지 대화 상자가 새로 고쳐집니다.
프로젝트의 속성 페이지 대화 상자를 보거나 솔루션 탐색기에서 파일을 선택할 때 굵게 표시된 속성 값은 파일 수준에서 해당 속성 값이 변경되었음을 나타냅니다. 그러므로 모든 속성에 대해 **<프로젝트에서 상속>**을 선택할 수 있습니다. 많은 파일에서 속성이 수정되었으면 프로젝트를 빌드하는 데 걸리는 시간이 늘어납니다.
대부분의 경우 프로젝트 기본값은 시스템(플랫폼) 기본값입니다. 그러나 일부 프로젝트 기본값은 일반 프로젝트 구성 페이지(일반 속성 페이지(프로젝트) 참조)의 프로젝트 기본값 그룹에서 속성을 업데이트할 때 적용되는 스타일시트에서 파생됩니다.
사용자 정의 값 입력
다른 속성들은 속성 값을 사용자가 지정해야 합니다. 이러한 속성 중 일부는 하나 이상의 값을 받아들이고(다중 속성) 일부는 하나의 값만 받아들입니다(단일 속성).
속성 페이지의 오른쪽 열에 직접 값을 입력할 수도 있습니다. 각 값은 세미콜론(;)으로 구분합니다. 이러한 속성에 대해서는 영문자와 숫자만 사용합니다. 또한 이러한 속성 값에 대해서는 오류 검사가 수행되지 않습니다.
단일 속성의 경우 드롭다운 목록에서 **<편집...>**을 선택할 수 있으며 선택된 다중 속성의 경우에는 찾아보기 단추를 사용할 수 있습니다. 이렇게 하면 속성에 대한 값을 하나 이상 입력할 수 있는 대화 상자가 열립니다. 이 대화 상자의 제목은 편집하는 속성의 이름과 같습니다. 다중 속성의 경우 각 값 다음에 캐리지 리턴을 사용하여 한 줄에 하나의 값을 입력합니다.
다중 속성의 편집 상자에는 프로젝트에서 상속(파일의 경우) 또는 프로젝트 기본값에서 상속(프로젝트 수준의 경우)이라고 표시된 확인란이 있습니다. 기본적으로 이 확인란은 선택되어 있습니다. 따라서 해당 속성은 파일이 선택된 경우 프로젝트에서, 또는 솔루션 탐색기에서 프로젝트가 선택된 경우에는 프로젝트 기본값에서 값을 상속할 수 있습니다.
속성 페이지 대화 상자에서 다중 속성에 대해 표시된 값은 현재 수준의 속성 설정에만 적용됩니다. 예를 들어, 솔루션 탐색기에서 파일이 선택된 경우 C/C++ 전처리기 정의 속성을 선택하면 프로젝트 수준의 전처리기 정의는 속성 페이지에 표시되지 않습니다. 그러나 다중 속성에 대한 편집 상자를 여는 경우에는 해당 속성에 대해 상속된 모든 값이 표시됩니다.
Visual C++ Project Model을 사용하는 경우 이 동작은 파일 및 프로젝트의 개체에도 적용됩니다. 즉, 파일 수준에서 속성에 대한 값을 쿼리할 때 프로젝트 수준의 동일한 속성에 대한 값은 표시되지 않으므로 프로젝트 수준의 속성에 대한 값은 사용자가 명시적으로 가져와야 합니다. 상속된 일부 속성 값은 이 릴리스에서 프로그래밍 방식으로 액세스할 수 없는 스타일시트에서 가져온 값일 수 있습니다.
$(Inherit) 및 $(NoInherit) 매크로
사용자 정의 값을 지정한 속성에 대해 다음의 두 가지 매크로를 사용할 수 있습니다.
$(Inherit)
$(NoInherit)
예를 들어, 프로젝트 기본값에서 상속 확인란의 선택을 취소하는 것은 $(NoInherit) 매크로를 사용하는 것과 같습니다. 여기서는 확인란을 사용하는 것이 더 쉽습니다. $(NoInherit) 매크로를 지정한 경우에도 사용자가 직접 값을 지정할 수 있습니다.
프로젝트에서 상속 또는 프로젝트 기본값에서 상속 확인란의 설정에 상관 없이 편집 상자에서 이 매크로 중 하나를 사용하면 확인란의 설정은 무시됩니다.
속성에 **$(NoInherit)**를 사용할 경우에는 프로젝트 기본값 중 하나가 속성에 영향을 미치는지 확인하십시오. 이러한 경우 지정한 프로젝트 기본값이 무시될 수 있습니다.