كيفية حل مشكلة "_vImagePermuteChannels_ARGB8888"، المشار إليها من:خطأ؟

StackOverflow https://stackoverflow.com//questions/12696655

  •  12-12-2019
  •  | 
  •  

سؤال

عندما أقوم بتحويل RGBA إلى ARGB، استخدمت هذا الرمز:

vImage_Buffer src;
src.height = height;
src.width = width;
src.rowBytes = srcBytesPerRow;
src.data = srcRows;

vImage_Buffer dest;
dest.height = height;
dest.width = width;
dest.rowBytes = destBytesPerRow;
dest.data = destRows;

// Swap pixel channels from BGRA to RGBA.
const uint8_t map[4] = { 2, 1, 0, 3 };
vImagePermuteChannels_ARGB8888(&src, &dest, map, kvImageNoFlags);

أتلقى الخطأ أدناه:ولهذا أضفت Convertion.h و Accelerate.framework.

رموز غير محددة للهندسة المعمارية Armv6:
"_vImagePermuteChannels_ARGB8888"، تمت الإشارة إليه من:-[CCOverlayViewprocessImage] في CCOverlayView.o ld:لم يتم العثور على الرمز (الرموز) للهندسة المعمارية Armv6 Collect2:عاد دينار 1 حالة خروج

هل من الممكن ان يساعدني احد من فضلكم؟

هل كانت مفيدة؟

المحلول

ربما تواجه إحدى مشكلتين:

1) يقع هذا الروتين في Accelerate.framework.تحتاج إلى إضافة هذا إلى مشروعك.

2) هذا الروتين متاح فقط في نظام التشغيل iOS 5.0 والإصدارات الأحدث؛ربما لا ينبغي عليك تضمين Armv6 في هذه الإصدارات.(الأجهزة التي تتطلب نظام Armv6 لا يمكنها تشغيل iOS 5.0).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top