محاولة تجميع X264 و FFMPEG لـ iPhone - "مفقود الذراع البنية المطلوبة في الملف"

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

  •  25-09-2019
  •  | 
  •  

سؤال

أحاول تجميع x264 للاستخدام في تطبيق iPhone. أرى أن هناك تعليمات حول كيفية تجميع FFMPEG للاستخدام على النظام الأساسي هنا: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-october/076618.html ، لكن لا يمكنني العثور على أي شيء مكتمل لتجميع x264 على iPhone. لقد وجدت شجرة المصدر هذه: http://gitorious.org/x264-Arm يبدو أن هذا لديه دعم لمنصة الذراع.

هنا خط التكوين الخاص بي:

./configure --cross-prefix=/usr/bin/ --host=arm-apple-darwin10 --extra-cflags="-B /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/ -I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/lib/"

...داخليا ايضا configure أنا أستخدم البرنامج النصي المعالج للغاز (الرابط الأول أعلاه) كجمعي:

gas-preprocessor.pl gcc

عندما أبدأ في التجميع ، فإنه يقطع بعيدًا لفترة قصيرة ، ثم يبصق هذه التحذيرات وقائمة ضخمة من الرموز غير المحددة:

ld: warning: option -s is obsolete and being ignored
ld: warning: -force_cpusubtype_ALL will become unsupported for ARM architectures
ld: warning: in /usr/lib/crt1.o, missing required architecture arm in file
ld: warning: in /usr/X11R6/lib/libX11.dylib, missing required architecture arm in file
ld: warning: in /usr/lib/libm.dylib, missing required architecture arm in file
ld: warning: in /usr/lib/libpthread.dylib, missing required architecture arm in file
ld: warning: in /usr/lib/libgcc_s.1.dylib, missing required architecture arm in file
ld: warning: in /usr/lib/libSystem.dylib, missing required architecture arm in file
Undefined symbols:

أظن أن المشكلة تتعلق بـ "ذراع الهندسة المعمارية المفقودة في ملف" تحذير ... أي أفكار؟

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

المحلول

تحقق من هذا الموقع: http://github.com/gabriel/ffmpeg-iphone-buildملف: Build-X264-ARMV6

ستحب ذلك!

الى اللقاء حظا سعيدا!

نصائح أخرى

يواجه العديد من المطورين مشاكل في تجميع مصادر FFMPEG بعد الانتقال إلى XCode 4.3. ويرجع ذلك في الغالب إلى الحقيقة ، على عكس الإصدارات السابقة ، يأتي XCode4.3 كحزمة ، ولا يتضمن أدوات سطر الأوامر في البداية.

لقد حاولنا بناء البرنامج النصي العالمي ؛ يمكنك تنزيل البيئة الكاملة لبناء FFMPEG جنبا إلى جنب مع Xcode4.3 هنا: https://github.com/melnikov/ffmpeg4iphone_4.3

المتطلبات الأساسية:

  1. يجب أن يكون لديك Xcode4.2 أو 4.3 على جهاز Mac الخاص بك
  2. يجب أن يكون لديك أدوات سطر أوامر Xcode مثبتة (يمكن تثبيتها عبر Xcode -> التفضيلات -> التنزيلات)
  3. يجب أن يكون لديك GIT لتثبيت Mac.

التعليمات والتفسيرات:

  1. ضع نص بناء في بعض الدليل (على سبيل المثال ،/tmp/ffbuild) ، قم بتعيين علامة قابلة للتنفيذ عليه (عن طريق تشغيل 'chmod +x ./build)
  2. تشغيل البرنامج النصي. ماذا ستفعل:
  3. سيتم الخروج من أحدث إصدار من FFMPEG في دليل FFMPEG (يمكنك التعليق بأمان هذا إذا كنت قد قمت بالفعل بتسجيل الخروج من FFMPEG إلى الدليل الحالي)
  4. سيحاول اكتشاف موقع Xcode.app وسيخرج إذا لم يتم تثبيت Xcode
  5. سيحاول تحديد موقع GCC داخل Xcode.app وسيخرج إذا لم يتم العثور عليه (قد يحدث هذا إذا لم يتم تثبيت أدوات أوامر XCode)
  6. إذا استمرت الخطوات المذكورة أعلاه بسلاسة ، فسيقوم البرنامج النصي
  7. إنشاء مجلد build_results
  8. سيتم تشغيل FFMPEG FFMPEG بعد ذلك لتكوين 3 بنيات مختلفة (ARMV6 ، ARMV7 ، I386) وسيضعها في أدلة معنية داخل مجلد Build_Results
  9. سيقوم بتشغيل Lipo وإنشاء LIBS عالمي (وسيضعها داخل Build_results/Universal).

راجع للشغل ، لقد اختبرت البرنامج النصي على عدد من أجهزة MAC الخاصة بزميلي ، وبعضها يميل إلى عدم إرجاع أي نتائج في MDFIND لـ XCODE.APP. لذلك ، إذا لم يتم تثبيت برنامج البرنامج النصي "Xcode غير مثبت" ، فلا تتردد في تعيين متغير XcodePath على المسار إلى Xcode.app

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