Share via

/ZW (Windows Runtime Compilation)

Compiles source code to support Microsoft C++ component extensions C++/CX for the creation of Universal Windows Platform (UWP) apps.

When you use /ZW to compile, always specify /EHsc as well.
/ZW isn't compatible with /std:c++20.


/ZW /EHsc
/ZW:nostdlib /EHsc


Indicates that Platform.winmd, Windows.Foundation.winmd, and other default Windows metadata (.winmd) files aren't automatically included in the compilation. Instead, you must use the /FU (Name Forced #using File) compiler option to explicitly specify Windows metadata files.


When you specify the /ZW option, the compiler supports these features:

  • The required metadata files, namespaces, data types, and functions that your app requires to execute in the Windows Runtime.

  • Automatic reference-counting of Windows Runtime objects, and automatic discarding of an object when its reference count goes to zero.

Because the incremental linker doesn't support the Windows metadata included in .obj files by using the /ZW option, the deprecated /Gm (Enable Minimal Rebuild) option is incompatible with /ZW.

For more information, see Visual C++ Language Reference.


See also

MSVC Compiler Options
MSVC Compiler Command-Line Syntax