¿Se pueden crear programas de escritorio ARM utilizando visual studio 2012?


Estaba trabajando con visual studio 2012 beta y mi programa de escritorio (win32) compilado bien en arquitectura ARM.

Después de actualizar a visual studio 2012 RC, el compilador no funciona y arroja el siguiente error:

"No se admite la compilación de aplicaciones de escritorio para la plataforma ARM"

Encontré una publicación en el foro sobre esto http://connect.microsoft.com/VisualStudio/feedback/details/745580/arm-configuration-doesnt-work

Es correcto que Microsoft realmente está cortando el desarrollo de win32 en ARM? ¿Y que compilar en VS2012 beta fue solo una casualidad?

Author: Viesturs, 2012-06-22

4 answers

Puede editar el archivo:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\ARM\Microsoft.Cpp.ARM.Common.props

En la sección <PropertyGroup> agregue la línea:

<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>

Antes </PropertyGroup>

Y eso es todo, puede crear aplicaciones de escritorio ARM con VS2012.

 47
Author: mamaich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-31 11:18:53

Pude evitar ese error y compilar un pequeño archivo cpp "hola mundo" para ARM agregando el argumento de línea de comandos "/D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE" a la versión ARM de cl en C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin \ x86_arm. Encontré que # define de la respuesta de sn0w a esta pregunta en los crtdefs.archivo h, sin tener que modificar ese archivo. Ahora, no puedo garantizar que algo más complejo realmente funcionará, o que Microsoft no ha instituido algún tipo de lista blanca o verificación de firma digital para aplicaciones de escritorio de Windows RT, por lo que a pesar de que puede compilar, puede que no se le permita ejecutarse cuando Windows RT finalmente esté disponible.

Tenga en cuenta que antes se puede ejecutar la versión ARM de cl.exe desde la línea de comandos, debe establecer las variables de entorno usando este archivo por lotes:" C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_arm \ vcvarsx86_arm.bat "

 9
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-13 19:02:12

Incluso si compila la aplicación, no podrá ejecutarla en Windows 8 RT ya que las aplicaciones sin firmar no se iniciarán.

Acabo de probar esto, y desafortunadamente es el caso.

Usted recibe el siguiente mensaje:
Windows cannot verify the digital signature of this file

Me imagino que probablemente hay un trabajo en torno a esto, pero nunca será apoyado oficialmente.

 4
Author: Adam Niles-Crane Walker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-18 12:01:24

Sí, por supuesto. practiqué con VS2012 RC. ahora voy a explicar cómo evitar "Compilar aplicaciones de escritorio para la plataforma ARM no es compatible" y construir la aplicación win32.

1st way: fix build tools - el objetivo es parchear (o intentar sustituirlo por uno de beta) lib: Microsoft de MSBuild.Construir.CPPTasks.Común.v110.dll

2a manera: ejecute el "Símbolo del sistema VS2012 ARM Cross Tools" desde el menú inicio de Visual Studio Tools, luego ejecute cl [cl params] myfile1.cpp myfile2.cpp myres.re ... / link [linkparams]

Para ambos casos también necesita comentar una directiva #error en crtdefs.h en la línea 332. (Microsoft Visual Studio 11.0\VC\include)

 3
Author: sn0w,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-29 11:41:18