FAQ#


Windows Build#


Linux Build#


Andere#


Windows Build#

Wie erzwinge ich, dass Unreal Visual Studio 2019 verwendet?#

Wenn die Standarddatei update_from_git.bat zu einem VS 2017-Projekt führt, müssen Sie möglicherweise das Tool C:\Program Files\Epic Games\UE_4.25\Engine\Binaries\DotNET\UnrealBuildTool.exe manuell mit den Befehlszeilenoptionen -projectfiles -project=<your.uproject> -game -rocket -progress -2019 ausführen.

Wenn Sie von 4.18 auf 4.25 aktualisieren, müssen Sie möglicherweise auch BuildSettingsVersion.V2 zu Ihren *.Target.cs- und *Editor.Target.cs-Builddateien hinzufügen, wie folgt:

   public AirSimNHTestTarget(TargetInfo Target) : base(Target)
   {
       Type = TargetType.Game;
       DefaultBuildSettings = BuildSettingsVersion.V2;
       ExtraModuleNames.AddRange(new string[] { "AirSimNHTest" });
   }

Möglicherweise müssen Sie auch diese Datei bearbeiten

"%APPDATA%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml

Und fügen Sie diese Compiler-Versionseinstellung hinzu

<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
  <WindowsPlatform>
    <Compiler>VisualStudio2019</Compiler>
  </WindowsPlatform>
</Configuration>
Ich erhalte die Fehlermeldung: "'where' wird nicht als interner oder externer Befehl erkannt"#

Sie müssen C:\WINDOWS\SYSTEM32 zu Ihrer PATH-Umgebungsvariable hinzufügen.

Ich erhalte die Fehlermeldung <MyProject> konnte nicht kompiliert werden. Versuchen Sie, es manuell aus der Quelle neu zu erstellen#

Dies tritt auf, wenn Kompilierungsfehler vorliegen. Protokolle werden in <My-Project>\Saved\Logs gespeichert und können zur Fehlerbehebung verwendet werden.

Ein häufiges Problem kann ein Konflikt zwischen Visual Studio-Versionen sein. AirSim verwendet VS 2019, während UE VS 2017 verwendet. Dies kann durch die Suche nach 2017 in der Protokolldatei festgestellt werden. In diesem Fall lesen Sie die Antwort oben.

Wenn Sie die AirSim-Plugin-Dateien geändert haben, können Sie mit der rechten Maustaste auf die Datei .uproject klicken, Visual Studio-Projektdatei generieren auswählen und dann die Datei .sln in VS öffnen, um die Fehler zu beheben und erneut zu kompilieren.

Ich erhalte Fehler C100: Ein interner Fehler ist im Compiler aufgetreten, wenn ich build.cmd ausführe#

Wir haben festgestellt, dass dies bei VS-Version 15.9.0 auftritt und haben einen Workaround im AirSim-Code eingecheckt. Wenn Sie diese VS-Version haben, stellen Sie bitte sicher, dass Sie den neuesten AirSim-Code abrufen.

Ich erhalte die Fehlermeldung "'corecrt.h': Datei oder Verzeichnis nicht gefunden" oder "Windows SDK-Version 8.1 nicht gefunden"#

Sehr wahrscheinlich haben Sie Windows SDK nicht mit Visual Studio installiert.

Wie verwende ich die PX4-Firmware mit AirSim?#

Standardmäßig verwendet AirSim seine eigene integrierte Firmware namens simple_flight. Wenn Sie dies einfach verwenden möchten, ist keine zusätzliche Einrichtung erforderlich. Wenn Sie stattdessen PX4 verwenden möchten, lesen Sie diese Anleitung.

Ich habe Änderungen in Visual Studio vorgenommen, aber es gibt keine Auswirkung#

Manchmal kompiliert das Unreal + VS-Buildsystem nicht neu, wenn Sie nur Header-Dateien ändern. Um eine Neubkompilierung sicherzustellen, machen Sie eine Unreal-basierte C++-Datei "schmutzig", wie z. B. AirSimGameMode.cpp.

Die Ausführung mehrerer VS-Versionen kann zu Problemen beim Kompilieren von UE-Projekten führen. Ein Problem, das auftreten kann, ist, dass UE versucht, mit einer älteren VS-Version zu kompilieren, was funktionieren kann oder auch nicht. Es gibt zwei Einstellungen in Unreal, eine für die Engine und eine für das Projekt, um die zu verwendende VS-Version anzupassen.

  1. Bearbeiten -> Editor-Einstellungen -> Allgemein -> Quellcode -> Quellcode-Editor
  2. Bearbeiten -> Projekteinstellungen -> Plattformen -> Windows -> Toolchain -> CompilerVersion

In einigen Fällen führen diese Einstellungen immer noch nicht zum gewünschten Ergebnis und Fehler wie die folgenden können auftreten: LINK: fatal error LNK1181: cannot open input file 'ws2_32.lib'

Um solche Probleme zu lösen, kann das folgende Verfahren angewendet werden

  1. Deinstallieren Sie alle alten VS-Versionen mit dem VisualStudioUninstaller
  2. Reparieren/Installieren Sie VS 2019
  3. Starten Sie den Rechner neu und installieren Sie den Epic Launcher und die gewünschte Engine-Version

Linux Build#

Ich erhalte die Fehlermeldung <MyProject> konnte nicht kompiliert werden. Versuchen Sie, es manuell aus der Quelle neu zu erstellen.#

Dies kann entweder an einem Kompilierungsfehler oder daran liegen, dass Ihre GCH-Dateien veraltet sind. Schauen Sie in Ihr Konsolenfenster. Sehen Sie etwas wie unten?

fatal error: file '/usr/include/linux/version.h''/usr/include/linux/version.h' has been modified since the precompiled header

Wenn dies der Fall ist, suchen Sie nach *.gch-Dateien, die nach dieser Meldung folgen, löschen Sie sie und versuchen Sie es erneut. Hier ist ein relevanter Thread in den Unreal Engine-Foren.

Wenn Sie andere Kompilierungsfehler in der Konsole sehen, öffnen Sie diese Quelldateien und prüfen Sie, ob sie auf von Ihnen vorgenommene Änderungen zurückzuführen sind. Wenn nicht, melden Sie es als Problem auf GitHub.

Unreal ist abgestürzt! Woher weiß ich, was schiefgelaufen ist?#

Gehen Sie zum Ordner MyUnrealProject/Saved/Crashes und suchen Sie in seinen Unterverzeichnissen nach der Datei MyProject.log. Am Ende dieser Datei sehen Sie den Stack-Trace und die Meldungen. Sie können auch die Datei Diagnostics.txt einsehen.

Wie verwende ich eine IDE unter Linux?#

Sie können Qt Creator oder CodeLite verwenden. Anleitungen für Qt Creator finden Sie hier.

Kann ich von einem Windows-Rechner aus für Linux kreuzkompilieren?#

Ja, das können Sie, aber wir haben es nicht getestet. Anleitungen finden Sie hier.

Welchen Compiler und welche Standardbibliothek verwendet AirSim?#

Wir verwenden denselben Compiler, den Unreal Engine verwendet, **Clang 8**, und dieselbe Standardbibliothek, **libc++**. AirSim's setup.sh lädt diese automatisch herunter.

Welche CMake-Version verwendet der AirSim-Build?#

3.10.0 oder höher. Dies ist *nicht* der Standard unter Ubuntu 16.04, daher installiert setup.sh es für Sie. Sie können Ihre CMake-Version mit cmake --version überprüfen. Wenn Sie eine ältere Version haben, folgen Sie diesen Anweisungen oder sehen Sie sich die CMake-Website an.

Kann ich AirSim in BashOnWindows kompilieren?#

Ja, aber Sie können Unreal nicht von BashOnWindows aus ausführen. Dies ist also nützlich, um eine Linux-Kompilierung zu überprüfen, aber nicht für eine vollständige Ausführung. Lesen Sie die BashOnWindows-Installationsanleitung. Stellen Sie sicher, dass Sie die neueste Version haben (Windows 10 Creators Edition), da frühere Versionen verschiedene Probleme hatten. Rufen Sie auch nicht bash aus der Visual Studio Command Prompt auf, da CMake sonst VC++ finden und versuchen könnte, dies zu verwenden!

Wo finde ich weitere Informationen zur Ausführung von Unreal unter Linux?#

Beginnen Sie hier: Unreal unter Linux Unreal unter Linux kompilieren Unreal Linux-Support Unreal Cross Compilation


Andere#

Verpackung einer Binärdatei, die das AirSim-Plugin enthält#

Um eine benutzerdefinierte Umgebung mit dem AirSim-Plugin zu verpacken, sind einige Projekteinstellungen erforderlich, um sicherzustellen, dass alle für AirSim benötigten Assets im Paket enthalten sind. Unter Bearbeiten -> Projekteinstellungen... -> Projekt -> Verpackung stellen Sie bitte sicher, dass die folgenden Einstellungen korrekt konfiguriert sind:

  • Liste der Karten, die in eine verpackte Build-Datei aufgenommen werden sollen: Stellen Sie sicher, dass ein Eintrag für /AirSim/AirSimAssets vorhanden ist.
  • Zusätzliche Asset-Verzeichnisse zum Kochen: Stellen Sie sicher, dass ein Eintrag für /AirSim/HUDAssets vorhanden ist.