针对 ARM Windows 进行编译

针对 ARM Windows 进行编译

微软已经发布了适用于 ARM 架构的 Windows 10,在Snapdragon处理器上运行。

它包含一个模拟层,可以立即运行 x86 二进制文件。但是,与在其编译的架构上运行软件相比,我预计这种模拟会降低性能。

因此,我想知道用户自己为 ARM 编译软件并直接运行而不进行仿真是否是个好主意。这样做的目的是绕过仿真层,从而提高性能。

这将是许多人经常使用并拥有源代码的软件,例如 Chromium、Firefox、Libre Office、GIMP、Audacity、Open Shot、VLC Player 等。

这可行吗?Windows 10 for ARM 是否允许安装 ARM 编译的二进制文件?

如何为 ARM 编译 Windows 软件?

答案1

安装Windows 10 SDK微软开发工具包(至少 Build 16299)以获取用于桌面应用程序的 ARM 编译器。

在此处输入图片描述

打开项目配置并创建 ARM(64) 配置:

在此处输入图片描述

如果你尝试编译它,你会收到一个错误,提示 ARM64 不支持桌面:

在此处输入图片描述

要解决此问题,请卸载项目并在编辑器中打开它,然后将该行添加<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>到 ARM64 的调试和发布条目中:

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v141</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v141</PlatformToolset>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
  </PropertyGroup>

以及WindowsSDKDesktopARMSupport32位ARM。

保存更改,再次加载项目,现在编译工作正常:

在此处输入图片描述

相关内容