Kompilieren für ARM Windows

798
Revetahw

Microsoft hat eine Vollversion von Windows 10 für ARM Architecture veröffentlicht, die auf Snapdragon-Prozessoren ausgeführt werden kann.

Es enthält eine Emulationsebene zum Ausführen von x86-Binärdateien. Ich erwarte jedoch, dass diese Emulation die Leistung verringert, wenn Sie Software auf der Architektur ausführen, für die sie kompiliert wurde.

Daher frage ich mich, ob es für Benutzer eine gute Idee wäre, Software für ARM selbst zu kompilieren und direkt ohne Emulation auszuführen. Ziel wäre es, die Emulationsschicht zu umgehen und somit die Leistung zu steigern.

Dies wäre eine Software, für die viele Leute regelmäßig verwenden und über den Quellcode verfügen, wie Chromium, Firefox, Libre Office, GIMP, Audacity, Open Shot, VLC-Player usw.

Ist das machbar? Kann man mit Windows 10 für ARM ARM-kompilierte Binärdateien installieren?

Wie kann man Windows-Software für ARM kompilieren?

0
Eine einfache Suche hätte gefunden [Visual C ++ für ARM-Prozessoren konfigurieren] (https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-arm-processors-visual-cpp). DavidPostill vor 6 Jahren 0
@DavidPostill Ich habe das recherchiert, bevor ich gefragt habe, und ich habe das nicht gefunden. Revetahw vor 6 Jahren 0
Es ist das dritte Ergebnis (für mich) für "Windows-Software für Arm kompilieren". DavidPostill vor 6 Jahren 0
@DavidPostill Ich glaube, mein mangelndes Wissen über dieses Thema hat mich dazu gebracht, die Relevanz dieses Ergebnisses nicht zu erkennen. Revetahw vor 6 Jahren 0
"Wird Windows 10 für ARM die Installation von ARM-kompilierten Binärdateien zulassen?" Ja, UWP-Anwendungen. Ramhound vor 6 Jahren 0

1 Antwort auf die Frage

1
magicandre1981

Installieren Sie das Windows 10-SDK und das WDK (mindestens Build 16299), um den ARM-Compiler für Desktopanwendungen zu erhalten.

enter image description here

Öffnen Sie die Projektkonfiguration und erstellen Sie eine ARM (64) -Konfiguration:

enter image description here

Wenn Sie versuchen, es zu kompilieren, erhalten Sie eine Fehlermeldung, dass ARM64 für Desktop nicht unterstützt wird:

enter image description here

Um dies zu beheben, entladen Sie das Projekt, öffnen Sie es im Editor und fügen Sie die Zeile <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>zum Debug- und Freigabe-Eintrag für ARM64 hinzu:

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

und WindowsSDKDesktopARMSupportfür 32Bit ARM.

Speichern Sie die Änderungen, laden Sie das Projekt erneut und die Kompilierung funktioniert nun einwandfrei:

enter image description here

Gibt es ein Äquivalent für die .NET-Desktopentwicklung? Wird .NET Framework auf ARM überhaupt unter Windows 10 ausgeliefert? https://docs.microsoft.com/de-de/dotnet/framework/get-started/system-requirements scheint nein zu sagen. Sören Kuklau vor 5 Jahren 0
@ SörenKuklau kompiliert als AnyCPU nicht genug? Ich habe keinen ARM64-basierten Laptop, um dies zu testen. magicandre1981 vor 5 Jahren 0
Es könnte _might_ sein, aber ich weiß gar nicht, ob .NET Framework überhaupt existiert (und wenn ja, in welcher Version?). Sören Kuklau vor 5 Jahren 0
@ SörenKuklau [das UUP-Skript herunterladen, um ein ARM64-ISO zu generieren] (https://uup.rg-adguard.net/), öffnen Sie das Installationsprogramm mit 7Zip und prüfen Sie, ob es das .net-Framework enthält. Sie können [ARM64 in einer VM] (https://withinrafael.com/2018/02/11/boot-arm64-buildsof-windows-10-in-qemu/) auch ausführen und testen (scheint jedoch zu sein.) sehr langsam sein). magicandre1981 vor 5 Jahren 1
Oh, ich hatte nicht gedacht, dass ich es nachahmen kann. Vielen Dank! Sören Kuklau vor 5 Jahren 0
@ SörenKuklau Ich habe die neueste Insider-Version als ARM64 heruntergeladen und kann den .net Framework 4-Ordner sehen, also ist zuletzt .net 4.7.2 integriert. magicandre1981 vor 5 Jahren 0