有没有办法用Mingw工具链构建Windows Store应用程序?(最终从Linux上的mingw中cross compile它们,因为如果它在一个Mingw工具链中工作,那么它也应该在另一个工具链中工作。)
我猜其中一个要求是在Windows store应用程序沙箱中使用stick to the API:s allowed,但是在分发到应用商店之前还有什么需要考虑的事情呢?XAML? 32位还是64位代码?
由于Mingw C++与MSVC++的链接不兼容,我认为没有WRL的纯C程序将是实现这一点的最简单的方法?
发布于 2012-10-16 16:43:32
你需要直接使用Windows Runtime C++ Template Library (WRL),你不能使用C++/CX,因为它不支持它。除此之外,我认为你只需要Windows 8 SDK,然后你需要配置Mingw来使用头文件和库。此外,你不能使用XAML来描述你的用户界面,你必须用代码手动创建你的UI。
您可以使用mingw编写核心库,然后使用Visual Studio Express (免费)在这些库上编写一个简单的UI包装器,而不是尝试使用mingw编写整个应用程序并将其与linux进行交叉编译。这样,您就可以使用XAML和引用计数实例等所有有用的东西。
这就是我所采用的方法--使用用C++编写的库,然后使用一个引用其他库的单独UI项目(使用XAML)。它工作得很好。
发布于 2017-09-13 06:01:20
MinGW-w64具有对随VS2013分发的UWP运行时的实验支持。与通用UWP crt链接的C dlls也可以与VS2015和VS2017 C++工具链一起使用( UWP项目应该有"Microsoft Visual UWP 2013 Runtime Package for Windows Universal“作为依赖项)。
MinGW-w64提供了winstorecompat
库,将UWP平台上一些被禁止的应用编程接口调用替换为用户自定义的实现。在与系统库链接之前,应将winstorecompat
链接到用户的库。
此外,还需要构建带有自定义标志-Wl,--dynamicbase
的MinGW C动态链接库,以通过Windows10应用商店认证工具包安全检查,并设置appcontainer
位标志以与Windows10应用商店二进制要求兼容。
这里是link to sample项目,我的工作是如何在Windows10WindowsUWP应用程序中使用普通的C MinGW动态链接库,从C动态链接库中使用PInvoke方法,并通过认证工具包安全检查将在Windows Store中发布。我引用了libVLC WinRT构建实现。
发布于 2017-11-09 22:25:09
看看在clang编译器中使用C++/WinRT而不是MinGW:
https://github.com/Microsoft/cppwinrt
" C++ /WinRT是仅在头文件中实现的Windows运行时的标准C++语言投影。它允许您使用任何符合标准的C++编译器来创作和使用Windows运行时API。“
" C++ /WinRT依赖于C++17语言特性,因此您需要告诉C++您的项目需要C++17语言标准。“
“虽然Visual C++仍然是我们的主要目标,但我们使用Clang作为我们的辅助编译器以确保符合标准。此更新中进行了许多小的更改,以支持Clang构建并修复仅在Clang构建中发现的正确性错误。”
https://stackoverflow.com/questions/12909139
复制相似问题