troubleshooting
Fehlerbehebung
Android- und iOS-Abstürze
In einigen Fällen kann es auf Android und iOS zu Abstürzen während der Laufzeit kommen (z. B. beim TestFlight-Testing). Dies wird durch die Speicherzuweisungsanforderungen der zugrunde liegenden llama.cpp-Bibliothek verursacht, die mit den Standard-Allokatoren der Unreal Engine auf diesen Plattformen in Konflikt geraten. Auf anderen Plattformen verwendet FMalloc standardmäßig den ANSI-Allokator, daher ist dieses Problem auf Android und iOS beschränkt.
Um dies zu beheben, müssen Sie den ANSI-Allokator in der Target.cs-Datei Ihres Projekts erzwingen:
Für Unreal Engine 5.5 und früher:
- Ihr Projekt muss eine selbst erstellte Engine (keine vorkompilierte Binärdatei) verwenden
- Fügen Sie die folgende Zeile zu Ihrer
Target.cs-Datei hinzu:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
Für Unreal Engine 5.6 und höher:
- Funktioniert sowohl mit selbst kompilierten als auch vorkompilierten Engine-Builds
- Fügen Sie die folgenden zwei Zeilen in Ihre
Target.cs-Datei ein:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;
Dies zwingt Unreal Engine, den ANSI-Allokator auf Android und iOS zu verwenden, der dem von llama.cpp verwendeten Allokator entspricht.