ARM桌面程序可以使用visual studio 2012构建吗?

Vie*_*urs 31 arm visual-studio-2012

我正在使用visual studio 2012 beta和我的桌面(win32)程序在ARM架构中编译得很好.

升级到visual studio 2012 RC后,编译器无法正常工作并发出以下错误:

"不支持为ARM平台编译桌面应用程序"

我在这个http://connect.microsoft.com/VisualStudio/feedback/details/745580/arm-configuration-doesnt-work上发现了一个论坛帖子

微软是否真的切断了ARM上的win32开发是否正确?在VS2012测试版中编译只是一个侥幸?

小智 47

您可以编辑该文件:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\ARM\Microsoft.Cpp.ARM.Common.props
Run Code Online (Sandbox Code Playgroud)

在该<PropertyGroup>部分添加以下行:

<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
Run Code Online (Sandbox Code Playgroud)

之前 </PropertyGroup>

这就是全部,您可以使用VS2012构建ARM桌面应用程序.

  • 在VS2017的情况下,我修改了以下文件,它工作得很好:C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Platforms\ARM64\PlatformToolsets\v141\Toolset.目标 (2认同)

Pau*_*aul 10

通过在C:\ Program Files(x86)\ Microsoft Visual的ARM版本的cl中添加"/ D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE"命令行参数,我能够解决该错误并为ARM编译一个小的"hello world"cpp文件Studio 11.0\VC\bin\x86_arm.我在crtdefs.h文件中找到了sn0w对此问题的答案的#define,而不必修改该文件.现在,我无法保证任何更复杂的实际工作,或者Microsoft没有为Windows RT桌面应用程序设置某种白名单或数字签名验证,因此即使它可以编译,也可能不允许运行当Windows RT终于可用时.

请注意,在从命令行运行ARM版本的cl.exe之前,必须使用此批处理文件设置环境变量:"C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\VC\bin\x86_arm\vcvarsx86_arm.bat"

  • 只是一个选择:当使用mamaich的技巧在Visual Studio下编译时,VS应用`/ D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE = 1`. (2认同)