Sorun Giderme
Android ve iOS Çökmeleri
Bazı durumlarda Android ve iOS üzerinde, çalışma zamanında (TestFlight testleri sırasında olduğu gibi) çökmeler meydana gelebilir. Bu, altta yatan llama.cpp kütüphanesinin bellek ayırma gereksinimlerinin, bu platformlarda Unreal Engine'in varsayılan ayırıcılarıyla çakışmasından kaynaklanır. Diğer platformlarda FMalloc varsayılan olarak ANSI ayırıcısını 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 ayırıcısını zorlamanız gerekir:
Unreal Engine 5.5 ve öncesi için:
- Projeniz kaynak kodundan derlenmiş bir motor kullanmalıdır (önceden derlenmiş bir ikili dosya değil)
Target.csdosyanıza aşağıdaki satırı ekleyin:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
Unreal Engine 5.6 ve sonrası için:
- Hem kaynak kodlu hem de önceden derlenmiş motor yapılarıyla çalışır
Target.csdosyanıza aşağıdaki iki satırı ekleyin:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;
Bu, Unreal Engine'i Android ve iOS'ta ANSI ayırıcısını kullanmaya zorlar ve llama.cpp tarafından kullanılan ayırıcıyla eşleşir.