una instalar hacer dev desarrolladas como aplicaciones aplicacion c windows-8 mingw cross-compiling windows-store-apps

instalar - ¿Se pueden construir aplicaciones de Windows Store con Mingw?



dev c++ (3)

¿Hay alguna manera de crear aplicaciones de la Tienda Windows con la Mingw herramientas Mingw ? (Y, en última instancia, compílelas en forma cruzada desde mingw en Linux, ya que si funciona en una cadena de herramientas Mingw debería funcionar en otra).

Supongo que un requisito es atenerse a las API: s permitidas en el entorno de pruebas de la Tienda Windows, pero ¿qué otras cosas hay que tener en cuenta antes de distribuirlas en la tienda? XAML? ¿Código de 32 o 64 bits?

Ya que Mingw C ++ no es compatible con enlaces con MSVC ++, ¿asumo que los programas C simples sin WRL serían la forma más fácil de lograr esto?


Eche un vistazo a usar C ++ / WinRT con compilador de Clang en lugar de MinGW:

https://github.com/Microsoft/cppwinrt
https://moderncpp.com/

"C ++ / WinRT es una proyección de lenguaje C ++ estándar para Windows Runtime implementada únicamente en archivos de encabezado. Le permite crear y consumir las API de Windows Runtime utilizando cualquier compilador de C ++ que cumpla con los estándares".

"C ++ / WinRT se basa en las características del lenguaje C ++ 17 y, como tal, necesita decirle a C ++ que su proyecto requiere el estándar de lenguaje C ++ 17".

"Aunque Visual C ++ sigue siendo nuestro objetivo principal, usamos Clang como nuestro compilador secundario para garantizar la conformidad estándar. Se han realizado muchos cambios pequeños en esta actualización para admitir las compilaciones de Clang y para corregir errores de corrección que solo se encontraron con las compilaciones de Clang".


MinGW-w64 tiene soporte experimental de UWP C runtime distribuido con VS2013. Las dlls vinculadas con el crt universal VS2013 también se pueden usar con las cadenas de herramientas UWP VS2015 y VS2017 (el proyecto UWP debería tener como "Paquete de tiempo de ejecución Microsoft Visual C ++ 2013 para Windows Universal" como dependencia).
MinGW-w64 proporciona la biblioteca winstorecompat para reemplazar algunas llamadas de API prohibidas en la plataforma UWP con la implementación definida por el usuario. winstorecompat debe estar vinculado a la biblioteca del usuario antes de vincularse con las bibliotecas del sistema.
También se requiere construir MinGW C dll con un indicador personalizado -Wl,--dynamicbase para pasar las comprobaciones de seguridad del kit de certificación de la Tienda Windows 10 y también configurar la bandera de bits del appcontainer para que sea compatible con los requisitos binarios de la Tienda Windows 10.
Aquí está el link al proyecto de muestra en el que he trabajado sobre cómo consumir D C MinGW simple en la aplicación UWP C # de Windows 10, métodos PInvoke de C dll y pasar los controles de seguridad del kit de certificación para publicarlos en la Tienda Windows. He hecho referencia a la implementación de compilación de WinRT de libVLC .


Necesitaría usar la WRL (WRL) directamente, no podría usar C++/CX ya que Mingw no lo admite. Aparte de eso, creo que solo necesitas el SDK de Windows 8 , entonces necesitas configurar Mingw para usar los encabezados y las bibliotecas. Además, no podrá usar XAML para describir su interfaz de usuario, tendrá que crear manualmente su IU en código.

En lugar de intentar escribir toda la aplicación con mingw y compilarla cruzadamente con Linux, puede escribir sus bibliotecas principales con mingw, luego escribir un contenedor de interfaz de usuario simple sobre las bibliotecas usando Visual Studio Express (gratis). De esa manera puedes usar todas las cosas agradables como XAML y las instancias de recuento de ref.

Este es el enfoque que he tomado: usar bibliotecas escritas en C ++ y luego un proyecto de IU separado (usando XAML) que hace referencia a las otras bibliotecas. Funciona bien.