/Zc:externConstexpr
(extern constexpr 변수 사용)
/Zc:externConstexpr
컴파일러 옵션은 컴파일러에 C++ 표준을 준수하고 변수에 대한 constexpr
외부 연결을 허용하도록 지시합니다. 기본적으로 Visual Studio는 키워드를 constexpr
지정 extern
하더라도 항상 변수 내부 연결을 제공합니다.
구문
/Zc:externConstexpr
[-
]
설명
/Zc:externConstexpr
컴파일러 옵션을 사용하면 컴파일러가 .를 사용하여 extern constexpr
선언된 변수에 외부 연결을 적용합니다.
이전 버전의 Visual Studio에서 기본적으로 또는 지정된 경우 /Zc:externConstexpr-
Visual Studio는 키워드를 사용하는 경우에도 extern
변수에 constexpr
내부 링크를 적용합니다. 이 /Zc:externConstexpr
옵션은 Visual Studio 2017 업데이트 15.6부터 사용할 수 있습니다. 기본적으로 해제되어 있습니다.
Visual Studio 2022 업데이트 17.6을 기준으로 이 /permissive-
옵션은 두 가지 모두를 /Zc:externConstexpr
/Zc:lambda
사용하도록 설정합니다. 이전 버전 /permissive-
에서는 둘 중 하나를 사용하도록 설정하지 않았습니다.
헤더 파일에 선언된 extern constexpr
변수가 포함되어 있는 경우 중복 선언을 연결된 이진 파일의 단일 인스턴스로 병합하기 위해 표시 __declspec(selectany)
해야 합니다. 그렇지 않으면 한 정의 규칙 위반에 대한 링커 오류(예: LNK2005)가 표시 될 수 있습니다.
Visual Studio에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.
추가 옵션: 창에 추가
/Zc:externConstexpr
하거나/Zc:externConstexpr-
추가합니다.