C++/WinRT is an entirely standard C++ language projection for Windows Runtime (WinRT) APIs, implemented as a header-file-based library, and designed to provide you with first-class access to the modern Windows API. With C++/WinRT, you can author and consume Windows Runtime APIs using any standards-compliant C++17 compiler.
Don't build C++/WinRT yourself - just download the latest version here: https://aka.ms/cppwinrt/nuget
If you really want to build it yourself, the simplest way to do so is to run the build_test_all.cmd
script in the root directory. Developers needing to work on the C++/WinRT compiler itself should go through the following steps to arrive at an efficient inner loop:
cppwinrt.sln
solution.If you are working on an ARM64 specific issue from an x64 or x86 host, you will need to instead:
cppwinrt.sln
solutionComparing the output of the prior release and your current changes will help show the impact of any updates. Starting from a dev command prompt at the root of the repo after following the above build instructions:
build_projection.cmd
in the dev command promptbuild_prior_projection.cmd
in the dev command prompt as wellprepare_versionless_diffs.cmd
which removes version stamps on both current and prior projection_build\$(arch)\$(flavor)\winrt
and _reference\$(arch)\$(flavor)\winrt