使用忍者构建UWP应用?

时间:2018-08-10 08:34:16

标签: build cmake uwp windows-store-apps ninja

我们可以使用忍者来构建UWP应用并因此为其创建appx包吗? 我觉得没有在线文章可以做到这一点。我知道如何使用VS和Make。

2 个答案:

答案 0 :(得分:0)

理论上:是的

值得注意的一件事:Ninja 只是官方支持 C++,我找不到任何结果 Ninja 支持其他编程语言

对于 C++,我们有两个选择:

  • C++/CX:您应该为 Windows 元数据激活标志 /ZW
  • C++/WinRT:使用 WinRT,您可以不受任何限制地进行编译,不再需要 Windows 元数据

C++/CX:在 C++ 11/14 正式发布之前,我们在 Windows 运行时开发背后有很长的故事,因此微软将他们自己的实现功能添加到 MSVC。因此,使用 C++/CX,您可以使用非常旧的 SDK(如 10240、10586 等)进行编译,理论上它也适用于 Windows 8.0/8.1 SDK、Windows Phone 8.0/8.1 SDK。另一个尝试在 FastBuild 上使用 C++/CX 编译 UWP(系统构建如 Ninja)成功,您可以在此处阅读作为参考:https://github.com/fastbuild/fastbuild/issues/623

C++/WinRT 是重聚的尝试,使 Windows 运行时回到标准 C++ 17。C++/WinRT 也可以用 Clang/GCC 编译。基于 Kenny Kerr(C++/WinRT 的创建者)的回答:C++/WinRT 不受旧 SDK 的限制,但他建议使用较新的 SDK,例如 17134。链接他的回答 https://stackoverflow.com/a/53193711/8707331

C++ UWP 的一些有用链接:

https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/porting/how-to-use-existing-cpp-code-in-a-universal-windows-platform-app.md

https://modernwindows.wordpress.com/2015/05/28/modern-c-and-clang/

答案 1 :(得分:-1)

您可以通过以下方式创建uwp应用程序:

  1. c#和xaml

  2. 诸如html,css和js的网络技术。你可以使用任何 第三方js库。您甚至可以使用托管的网络应用 因为uwp应用程序或pwas等最新技术也可以作为 uwp应用程序。更多内容:https://developer.microsoft.com/en-us/windows/pwa

  3. c ++和xaml :通过这种方法,您可以使用c ++库(如果它们符合uwp平台的要求),则您对此在线支持不多的原因是因为大多数uwp开发人员使用c#和xaml方法。

有一些解决方法,其中之一是创建一个桌面应用程序,然后将其打包在MSIX打包中,这会将Windows桌面应用程序打包到uwp应用程序中,甚至可以通过以下方式分发它:微软商店。

CMake 不能用于生成UWP软件包。但是,您可以使用make.exeVisual Studio生成UWP软件包。有关更多信息,您可以参考Create an app package with the MakeAppx.exe toolPackage a UWP app with Visual Studio