29 votes

Les programmes de bureau ARM peuvent-ils être créés à l'aide de Visual Studio 2012?

Je travaille avec visual studio 2012 beta et mon bureau (win32) programme compilé fine dans l'architecture ARM.

Après la mise à jour de visual studio 2012 RC, le compilateur ne fonctionnerait pas et renvoie le message d'erreur suivant:

"La compilation des applications de Bureau pour la plate-forme ARM est pas pris en charge"

J'ai trouvé un post sur le forum sur ce http://connect.microsoft.com/VisualStudio/feedback/details/745580/arm-configuration-doesnt-work

Est-il exact que Microsoft est vraiment couper win32 développement sur les BRAS? Et que la compilation en VS2012 bêta était juste un coup de chance?

44voto

mamaich Points 436

Vous pouvez éditer le fichier:

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

Dans la section <PropertyGroup> , ajoutez la ligne:

 <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
 

avant </PropertyGroup>

Et c'est tout, vous pouvez créer des applications de bureau ARM avec VS2012.

8voto

Paul Points 726

J'ai été en mesure d'obtenir autour de cette erreur et compiler un petit "hello world" fichier cpp pour les BRAS en ajoutant le D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE" argument de ligne de commande sur le BRAS de la version de cl à C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_arm. J'ai trouvé que le numéro de définir à partir de sn0w la réponse à cette question, dans le crtdefs.h fichier, sans avoir à modifier ce fichier. Maintenant, je ne peux pas garantir que quelque chose de plus complexe sera effectivement le travail, ou que Microsoft n'a pas mis en place une sorte de liste blanche ou de la vérification de la signature numérique pour Windows RT des applications de bureau, de sorte que même si il peut compiler, il peut ne pas être autorisé à exécuter lorsque Windows RT est enfin disponible.

Notez qu'avant de pouvoir exécuter le BRAS de la version de cl.exe à partir de la ligne de commande, vous devez définir les variables d'environnement à l'aide de ce fichier de commandes: "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_arm\vcvarsx86_arm.chauve-souris"

4voto

Même si vous compilez l'application, vous ne pourrez pas l'exécuter sur Windows 8 RT car les applications non signées ne démarreront pas.

Je viens de tester cela, et malheureusement c'est le cas.

Vous recevez le message suivant:
Windows cannot verify the digital signature of this file

J'imagine qu'il y a probablement un moyen de contourner cela, mais il ne sera jamais officiellement pris en charge.

3voto

sn0w Points 31

oui, bien sûr. j'ai pratiqué avec VS2012 RC. maintenant, je vais vous expliquer comment éviter de "Compiler des applications de Bureau pour la plate-forme ARM est pas pris en charge" et de construire des applications win32.

1ère méthode: correction de construire des outils - l'objectif est de patch (ou d'essayer de la remplacer par bêta) en MSBuild lib: Microsoft.Build.CPPTasks.Common.v110.dll

2ème méthode: le "VS2012 BRAS de la Croix-Invite de Commande des Outils" à partir de Visual Studio Tools menu démarrer, puis exécuter cl [cl params] myfile1.cpp myfile2.cpp myres.res ... /lien [linkparams]

pour les deux ce cas, vous devez également commentout une #erreur directive crtdefs.h sur la ligne 332. (Microsoft Visual Studio 11.0\VC\include)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X