Ana içeriğe geç

Sorun Giderme

Android ve iOS Çökmeleri

Android ve iOS'ta bazı durumlarda, çalışma zamanında (TestFlight testleri sırasında olduğu gibi) çökmeler meydana gelebilir. Bunun nedeni, altta yatan llama.cpp kütüphanesinin bellek ayırma gereksinimlerinin bu platformlarda Unreal Engine'in varsayılan bellek yöneticileriyle çakışmasıdır. Diğer platformlarda FMalloc varsayılan olarak ANSI bellek yöneticisini kullanır, bu nedenle bu sorun yalnızca Android ve iOS'a özgüdür.

Bunu çözmek için, projenizin Target.cs dosyasında ANSI bellek yöneticisini zorlamanız gerekir:

Unreal Engine 5.5 ve öncesi için:

  • Projeniz, kaynaktan derlenmiş bir motor kullanmalıdır (önceden derlenmiş ikili dosya değil)
  • Target.cs dosyanıza aşağıdaki satırı ekleyin:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Unreal Engine 5.6 ve sonrası için:

  • Hem kaynak koddan derlenmiş hem de önceden derlenmiş motor derlemeleriyle çalışır.
  • Aşağıdaki iki satırı Target.cs dosyanıza ekleyin:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

Bu, Unreal Engine'i Android ve iOS'ta ANSI ayırıcısını kullanmaya zorlar ve bu, llama.cpp tarafından kullanılan ayırıcıyla eşleşir.