针对ARM Windows进行编译

雷维塔夫(Revetahw)说恢复莫妮卡(Monica)

微软已经发布了适用于ARM体系结构Windows 10完整版,可以在Snapdragon处理器上运行。

它包括一个仿真层,用于开箱即用地运行x86二进制文件。但是,与在为其编译的体系结构上运行软件相比,我希望这种仿真会降低性能。

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

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

这可行吗?Windows 10 for ARM会让一个安装ARM编译的二进制文件吗?

如何为ARM编译Windows软件?

魔术师1981

安装Windows 10 SDKWDK(至少内部版本16299)以获取用于桌面应用程序的ARM编译器。

在此处输入图片说明

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

在此处输入图片说明

如果尝试对其进行编译,则会收到以下错误消息:Desktop不支持ARM64:

在此处输入图片说明

要解决此问题,请卸载项目并在编辑器中将其打开,并将该行添加<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>到ARM64的debug和release条目中:

  <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>

WindowsSDKDesktopARMSupport对于32Bit ARM。

保存更改,再次加载项目,现在编译可以正常进行:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无需安装任何内容即可针对ARM进行交叉编译

gdb无法针对arm-linux进行交叉编译

针对ARM交叉编译Qt 5.9.8的问题

在Ubuntu上针对目标Pico Zed Arm进行交叉编译时如何链接到libuuid

修改Comipler RT汇编代码以针对Arm Cortex M3 / M4进行编译(CPSR / APSR位操作)

帮助进行ARM的交叉编译

尝试针对旧的STD库和Windows SDK进行编译时出现链接错误

为什么我们需要针对不同的平台(例如Windows / Linux)进行编译?

如何设置CMake与Windows嵌入式ARM的clang进行交叉编译?

如何针对内核头文件进行编译?

如何在Java 9中针对jar文件进行编译?

如何针对cddlib库进行编译和链接?

针对过时的模板显式实例进行编译

在 OpenWRT 上针对 gpsd 进行编译 - 链接失败

如何针对mips gcc的解释器进行编译?

如何针对自定义内核(Debian)进行编译?

针对没有gcc的linux平台进行编译

针对多种架构进行编译时的C ++函数多重定义

从Windows交叉编译Rust到ARM Linux

如何针对Windows 8.1 SDK进行构建

如何在CMAKE中针对不同文件使用不同的编译选项进行编译?

使用旧版glibc进行ARM交叉编译

无法使用 c++17 为 arm 进行交叉编译

针对ARM的微优化C代码

Windows下使用CMake针对Linux进行跨平台构建

针对Yojson编译时出错

针对定制的GLIBC编译GCC

编译查询失败-查询是针对不同于与指定DataContext关联的映射源的另一映射源进行编译的

几年前构建的gcc版本的编译器如何仍能针对最近发布的处理器进行编译?