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.csdosyanı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.csdosyanı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.