I programmi desktop ARM possono essere compilati utilizzando Visual Studio 2012?

Stavo lavorando con Visual Studio 2012 beta e il mio programma desktop (win32) compilato bene nell’architettura ARM.

Dopo l’aggiornamento a Visual Studio 2012 RC, il compilatore non funzionava e mostra il seguente errore:

“La compilazione di applicazioni desktop per la piattaforma ARM non è supportata”

Ho trovato un post sul forum su questo http://connect.microsoft.com/VisualStudio/feedback/details/745580/arm-configuration-doesnt-work

È corretto che Microsoft stia davvero tagliando lo sviluppo di win32 su ARM? E che la compilazione in beta VS2012 era solo un colpo di fortuna?

Puoi modificare il file:

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

Nella sezione aggiungi la linea:

 true 

prima di

E questo è tutto, puoi build app desktop ARM con VS2012.

Sono stato in grado di aggirare questo errore e compilare un piccolo file cpp “ciao mondo” per ARM aggiungendo l’argomento della riga di comando “/ D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE” alla versione ARM di cl in C: \ Programmi (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin \ x86_arm. Ho trovato che #define dalla risposta di sn0w su questa domanda nel file crtdefs.h, senza dover modificare quel file. Ora, non posso garantire che qualcosa di più complesso funzioni effettivamente, o che Microsoft non abbia istituito una sorta di whitelisting o verifica della firma digitale per le app desktop di Windows RT, quindi, anche se potrebbe essere compilato, potrebbe non essere ansible eseguire quando Windows RT è finalmente disponibile.

Si noti che prima di poter eseguire la versione ARM di cl.exe dalla riga di comando, è necessario impostare le variabili di ambiente utilizzando questo file batch: “C: \ Programmi (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin \ x86_arm \ vcvarsx86_arm.bat”

Anche se si compila l’app, non sarà ansible eseguirlo su Windows 8 RT poiché le app non firmate non verranno avviate.

Ho appena provato questo, e sfortunatamente è il caso.

Si riceve il seguente messaggio:
Windows cannot verify the digital signature of this file

Immagino che ci sia probabilmente un aggiramento per questo, ma non sarà mai supportato ufficialmente.

sì, naturalmente. ho praticato con VS2012 RC. ora spiegherò come evitare che “Compilare le applicazioni desktop per la piattaforma ARM non sia supportato” e creare un’applicazione win32.

1o modo: fix strumenti di compilazione – l’objective è quello di patch (o provare a sostituirlo con quello di beta) lib di MSBuild: Microsoft.Build.CPPTasks.Common.v110.dll

2 ° modo: eseguire il “VS2012 ARM Cross Tools Command Prompt” dal menu di avvio di Visual Studio Tools, quindi eseguire cl [cl params] myfile1.cpp myfile2.cpp myres.res … / link [linkparams]

per entrambi i casi è necessario commentare una direttiva #error in crtdefs.h nella riga 332. (Microsoft Visual Studio 11.0 \ VC \ include)