C++/WinRT
Перейти к файлу
Ryan Shepherd 9f18db2681 Add ResolvedType helper for building quasi-signatures by name 2023-06-05 23:32:22 -07:00
.github Update issue template to use `cpp` instead of `rust` (#1313) 2023-05-24 08:16:44 -05:00
.pipelines Remove ARM OneBranch build workaround (#1303) 2023-05-11 03:55:38 -07:00
cppwinrt Add UTF-8 path support (#1307) 2023-05-17 12:26:26 -05:00
docs Update open source docs (#1315) 2023-05-30 08:42:50 -05:00
fast_fwd Several nuget tests failing to build with VS2022. Standardize on directory.build.props to use PlatformToolset v143 (#1125) 2022-03-22 15:14:59 -07:00
mingw-support Add CMake build and a limited subset of tests for llvm-mingw (#1216) 2022-11-09 10:26:19 -06:00
natvis Add ResolvedType helper for building quasi-signatures by name 2023-06-05 23:32:22 -07:00
nuget Remove explicitly setting PreferredToolArchitecture, since VS 2022 handles this more comprehensively (#1304) 2023-05-15 11:19:04 -07:00
prebuild Add Linux native build (#1239) 2022-12-06 11:13:30 -06:00
scratch catch is evidently incompatible with VS 2022 (platform toolset v143) - backing off to unblock (#1127) 2022-03-23 15:35:56 -07:00
strings Add `capture` support for unconventional result types (#1301) 2023-04-29 14:53:13 -05:00
test Add `capture` support for unconventional result types (#1301) 2023-04-29 14:53:13 -05:00
vsix Add fields to filter out templates appearing in the add new item dialog for non UAP projects (#1227) 2022-11-11 20:18:34 -06:00
.gitattributes Build (#478) 2020-01-16 09:16:13 -08:00
.gitignore Add GitHub Action build and test workflow for MSVC (#1201) 2022-10-14 17:15:09 -05:00
CMakeLists.txt cmake: Allow using external winmd headers to bypass download (#1256) 2023-01-03 11:33:25 -06:00
Directory.Build.Props Improve CI jobs split (#1210) 2022-10-18 08:28:35 -05:00
Directory.Build.Targets catch is evidently incompatible with VS 2022 (platform toolset v143) - backing off to unblock (#1127) 2022-03-23 15:35:56 -07:00
LICENSE clean 2019-10-08 05:14:30 -07:00
README.md Update readme 2023-05-27 14:38:18 -05:00
build_nuget.cmd Fix build 2020-07-03 18:34:57 -07:00
build_projection.cmd build 2019-10-11 09:06:48 -07:00
build_test_all.cmd Add a mechanism to suppress `std::source_location` (#1260) 2023-01-09 16:52:54 -06:00
build_vsix.cmd Add arm64 debug visualizer and update VS SDK package for VSIX (#1190) 2022-09-23 11:52:00 -07:00
compile_tests.cmd port 2019-10-08 08:19:10 -07:00
cppwinrt.sln Add a mechanism to suppress `std::source_location` (#1260) 2023-01-09 16:52:54 -06:00
cross-mingw-toolchain.cmake Support Linux cross-compilation with mingw-w64 (#1238) 2022-11-28 09:06:56 -06:00
run_tests.cmd Add a mechanism to suppress `std::source_location` (#1260) 2023-01-09 16:52:54 -06:00

README.md

The C++/WinRT language projection

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.

Building C++/WinRT

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:

  • Open a dev command prompt pointing at the root of the repo.
  • Open the cppwinrt.sln solution.
  • Build the x64 Release configuration of the prebuild and cppwinrt projects only. Do not attempt to build anything else just yet.
  • Run build_projection.cmd in the dev command prompt.
  • Switch to the x64 Debug configuration in Visual Studio and build all projects as needed.