Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 3.95 KB

compiler-and-linker-options-c-cx.md

File metadata and controls

47 lines (40 loc) · 3.95 KB
title ms.custom ms.date ms.prod ms.technology ms.reviewer ms.suite ms.tgt_pltfrm ms.topic ms.assetid caps.latest.revision author ms.author manager
Compiler and Linker options (C++-CX) | Microsoft Docs
01/22/2017
windows-client-threshold
article
ecfadce8-3a3f-40cc-bb01-b4731f8d2fcb
10
ghogen
ghogen
ghogen

Compiler and Linker options (C++-CX)

An environment variable, C++/CX compiler options, and linker options support the building of apps for the [!INCLUDEwrt].

Library path

The %LIBPATH% environment variable specifies the default path to search for .winmd files.

Compiler options

Option Description
/ZW

/ZW:nostdlib
Enables [!INCLUDEwrt] language extensions.

The nostdlib parameter prevents the compiler from using the standard, predefined search path to find assembly and .winmd files.

The /ZW compiler option implicitly specifies the following compiler options:

- /FI vccorlib.h, which forces inclusion of the vccorlib.h header file that defines many types that are required by the compiler.
- /FU Windows.winmd, which forces inclusion of the Windows.winmd metadata file that's provided by the operating system and defines many types in the [!INCLUDEwrt].
- /FU Platform.winmd, which forces inclusion of the Platform.winmd metadata file that's provided by the compiler and defines most types in the Platform family of namespaces.
/AI dir Adds a directory, which is specified by the dir parameter, to the search path that the compiler uses to find assembly and .winmd files.
/FU file Forces the inclusion of the specified module, or .winmd file. That is, you don't have to specify #usingfile in your source code. The compiler automatically forces the inclusion of its own Windows metadata file, Platform.winmd.
/D "WINAPI_FAMILY=2" Creates a definition that enables the use of a subset of the Win32 SDK that's compatible with the [!INCLUDEwrt].

Linker options

Option Description
/APPCONTAINER[:NO] Marks the executable as runnable in the appcontainer (only).
/WINMD[:{NO|ONLY}] Emits a .winmd file and an associated binary file. This option must be passed to the linker for a .winmd to be emitted.

NO—Doesn't emit a .winmd file, but does emit a binary file.

ONLY—Emits a .winmd file, but doesn't emit a binary file.
/WINMDFILE:filename The name of the .winmd file to emit, instead of the default .winmd file name. If multiple file names are specified on the command line, the last name is used.
/WINMDDELAYSIGN[:NO] Partially signs the .winmd file and places the public key in the binary.

NO—(Default) Doesn't sign the .winmd file.

/WINMDDELAYSIGN has no effect unless /WINMDKEYFILE or /WINMDKEYCONTAINER is also specified.
/WINMDKEYCONTAINER:name Specifies a key container to sign an assembly. The name parameter corresponds to the key container that's used to sign the metadata file.
/WINMDKEYFILE:filename Specifies a key or a key pair to sign the assembly. The filename parameter corresponds to the key that's used to sign the metadata file.

Remarks

When you use /ZW, the compiler automatically links to the DLL version of the C Runtime (CRT). Linking to the static library version is not allowed, and any use of CRT functions that are not allowed in a Universal Windows Platform app will cause a compile-time error.

See Also

Building apps and libraries