컴파일러 및 링커 옵션(C++/CX)
환경 변수, C++/CX 컴파일러 옵션 및 링커 옵션은 Windows 런타임용 앱 빌드를 지원합니다.
라이브러리 경로
%LIBPATH% 환경 변수는 .winmd 파일을 검색할 기본 경로를 지정합니다.
컴파일러 옵션
옵션 | 설명 |
---|---|
/ZW /ZW:nostdlib |
Windows 런타임 언어 확장을 사용하도록 설정합니다.nostdlib 매개 변수를 사용하면 컴파일러에서 미리 정의된 표준 검색 경로를 사용하여 어셈블리 및 .winmd 파일을 찾지 못합니다./ZW 컴파일러 옵션은 다음 컴파일러 옵션을 암시적으로 지정합니다. - /FI vccorlib.h - 컴파일러에 필요한 다양한 형식을 정의하는 vccorlib.h 헤더 파일을 강제로 포함합니다. - /FU Windows.winmd - Windows 런타임에서 다양한 형식을 정의하고 운영 체제에서 제공되는 Windows.winmd 메타데이터 파일을 강제로 포함합니다. - /FU Platform.winmd - 네임스페이스의 Platform 패밀리에서 대부분 형식을 정의하고 컴파일러에서 제공되는 Platform.winmd 메타데이터 파일을 강제로 포함합니다. |
/AI dir | dir 매개 변수로 지정되는 디렉터리를 컴파일러에서 어셈블리 및 .winmd 파일을 찾는 데 사용하는 검색 경로에 추가합니다. |
/FU file | 지정된 모듈 또는 .winmd 파일을 강제로 포함합니다. 즉, 소스 코드에서 #using file 을 지정할 필요가 없습니다. 컴파일러에서는 고유한 Windows 메타데이터 파일, Platform.winmd를 자동으로 강제 포함합니다. |
/D "WINAPI_FAMILY=2" | Windows 런타임과 호환되는 Win32 SDK의 하위 집합을 사용할 수 있도록 하는 정의를 만듭니다. |
링커 옵션
옵션 | 설명 |
---|---|
/APPCONTAINER[:NO] | 실행 파일을 appcontainer에서(만) 실행 가능으로 표시합니다. |
/WINMD[:{NO|ONLY}] | .winmd 파일 및 연결된 이진 파일을 내보냅니다. .winmd를 내보내려면 이 옵션을 링커에 전달해야 합니다. NO—.winmd 파일을 내보내지 않지만 이진 파일을 내보냅니다. ONLY—.winmd 파일을 내보내지만 이진 파일을 내보내지 않습니다. |
/WINMDFILE:filename | 기본 .winmd 파일 이름 대신 내보낼 .winmd 파일의 이름입니다. 명령줄에서 여러 파일 이름을 지정하면 마지막 이름이 사용됩니다. |
/WINMDDELAYSIGN[:NO] | .winmd 파일에 부분적으로 서명하고 공개 키를 이진 파일에 삽입합니다. NO—(기본값) .winmd 파일에 서명하지 않습니다. /WINMDKEYFILE 또는 /WINMDKEYCONTAINER도 지정하지 않으면 /WINMDDELAYSIGN은 아무런 효과가 없습니다. |
/WINMDKEYCONTAINER:name | 어셈블리에 서명할 키 컨테이너를 지정합니다. name 매개 변수는 메타데이터 파일에 서명하는 데 사용되는 키 컨테이너에 해당합니다. |
/WINMDKEYFILE:filename | 어셈블리에 서명할 키 또는 키 쌍을 지정합니다. filename 매개 변수는 메타데이터 파일에 서명하는 데 사용되는 키에 해당합니다. |
설명
/ZW를 사용하면 컴파일러는 CRT(C 런타임)의 DLL 버전에 자동으로 연결됩니다. 정적 라이브러리 버전에 대한 연결은 허용되지 않으며, 유니버설 Windows 플랫폼 앱에서 허용되지 않는 CRT 함수를 사용하면 컴파일 시간 오류가 발생합니다.