استكشاف الأخطاء وإصلاحها
أعطال 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.