انتقل إلى المحتوى الرئيسي

استكشاف الأخطاء وإصلاحها

أعطال Android و iOS

في بعض الحالات على نظامي Android و iOS، قد تحدث أعطال أثناء وقت التشغيل (مثل أثناء اختبار TestFlight). هذا ناتج عن تعارض متطلبات تخصيص الذاكرة لمكتبة llama.cpp الأساسية مع مخصصات الذاكرة الافتراضية لمحرك Unreal Engine على هذه المنصات. على المنصات الأخرى، يكون FMalloc افتراضيًا مخصص ANSI، لذا هذه المشكلة محددة بنظامي Android و iOS.

لحل هذه المشكلة، تحتاج إلى فرض مخصص ANSI في ملف Target.cs الخاص بمشروعك:

لإصدار Unreal Engine 5.5 وما قبله:

  • يجب أن يستخدم مشروعك محركًا مبنيًا من المصدر (وليس ثنائيًا مجمعًا مسبقًا)
  • أضف السطر التالي إلى ملف Target.cs الخاص بك:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

لإصدار Unreal Engine 5.6 وما بعده:

  • يعمل مع كل من إصدارات المحرك المبنية من المصدر والمجمعة مسبقاً
  • أضف السطرين التاليين إلى ملف Target.cs الخاص بك:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

هذا يُجبر Unreal Engine على استخدام مُخصص ANSI على Android و iOS، مطابقةً للمُخصص المستخدم بواسطة llama.cpp.