Подтвердить что ты не робот

Создание библиотеки FFMPEG для iOS6.0 ARMv7 Процессор

Внимание:

Мне просто сообщил другой пользователь, что есть некоторые юридические проблемы, связанные с использованием FFMPEG для iOS, оставляя ссылку здесь http://multinc.com/2009/08/24/compatibility-between-the-iphone-app-store-and-the-lgpl/

Я немного очистил свой вопрос, когда я написал его в первый раз, когда я был взволнован. Теперь я могу быть более ясным после небольшого перерыва.

Изменить: узнал, что вам нужно строить для ARMv7, ARMv7 и iOS6.0

Я пытаюсь использовать библиотеку FFMPEG в проекте XCode 4.5.1. И я пытаюсь построить его для ARMv7. То, что я ищу, это точный процесс и некоторое объяснение. Я понимаю, что это не хорошо документированная проблема. Но я знаю, что у другого попла была такая же проблема, как и я.

Что я мог сделать.

Мне удалось создать библиотеку для тестирования.

1) Я смог клонировать ffmpeg. Для начинающих вы начнете с создания каталога с источником ffmpeg. (Престижность ребятам, которые его написали)

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

2) Я смог написать файл конфигурации, у которого нет ошибок. Мы вернемся к этой части позже. Это команда, которую я прикрепляю к. /configure

./настроить --disable-документ --disable-FFmpeg --disable-ffplay --disable-ffserver --enable-кросс-компиляции --arch = рука --target-Os = Darwin --cc =/Применения/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/USR/LLVM-GCC-4.2/бен/арм-яблочный darwin10-LLVM-GCC-4.2

- as = 'gas-preprocessor/gas-preprocessor.pl/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple- darwin10-LLVM-GCC-4,2'

- SYSROOT =/приложения/xcode.app/содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/SDKs/iPhoneOS6.0.sdk

- процессор = Cortex-A8 --extra-ldflags = '- arch = armv7 -isysroot/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' --enable-pic --disable-bzlib --disable-gpl --disable-shared --enable-static --disable-mmx --disable-debug --disable-neon --extra-cflags = '- pipe - Os -gdwarf-2 -isysroot/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -m ${thumb_opt: -no-thumb} -mthumb-interwork '

Это некоторые вещи, которые нужно отметить.

  • Мне пришлось скачать (https://github.com/yuvi/gas-preprocessor) скопировать файл gas-preprocessor.pl в /usr/local/bin. Установите разрешения для чтения записи (777)
  • Убедитесь, что я использую правильный компилятор GCC:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm -gcc-4,2
  • Убедитесь, что я использую правильный SDK:/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk
  • - extra-cflags = "- arch armv7" вызывает: ошибка: непризнанная опция командной строки "-arch"

Здесь ложь проблема.

Я могу включить такую ​​библиотеку

кодек/avcodec.h

Но когда я начал писать кодировщик. Я получил это предупреждение и бесчисленные ошибки.

игнорирование файла /Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a, файл был создан для архива, который не связан с архитектурой (armv7s):/Users/Jimmy/Development/source.ffmpeg/Library/libavutil.a

Это означает, что я не создал правильный двоичный файл.

То, что я ищу, это тот, кто сделал это раньше, чтобы пройти всех нас через процесс создания FFMPEG для iOS6.0 и ARMv7 и большинство вещей, которые нужно искать. Спасибо тонну.

4b9b3361

Ответ 1

Вот моя рабочая настройка для кросс-компиляции FFmpeg на iOS 6, арка ARMv7

ПРИМЕЧАНИЕ. Вам нужно иметь gas-preprocessor.pl внутри /usr/local/bin/, пожалуйста, продолжайте, пока не будет gas-preprocessor.pl в каталоге bin

  • Загрузить FFmpeg 1.0 "Ангел" из здесь

  • Разархивируйте его и поместите его где-нибудь, то есть в папку Desktop

  • Откройте терминал и откройте unzipped FFmpeg folder

  • Скопируйте и вставьте следующую команду, (пациент займет некоторое время)

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc =/Приложения/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/usr/bin/gcc --as = 'gas-preprocessor/gas-preprocessor.pl/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc '--sysroot =/Приложения/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/SDK/iPhoneOS6.0.sdk --cpu = cortex-a8 - -extra-cflags = '- arch armv7' --extra-ldflags = '- arch armv7 -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' - -enable-pic -enable-decoder = rawvideo -disable-asm

  • Теперь введите следующую команду в терминал make (подождать немного больше)

  • Как только он закончит, теперь введите терминал sudo make install (снова ждать)

  • Перейдите в /usr/local/lib, чтобы найти свои свежеиспеченные ARMv7 libs

  • Наслаждайтесь!

Алекс


Добавлена ​​поддержка armv7s

Эта конфигурация armv7s полностью не проверена, и я действительно не знаю, будет ли это работать, у меня нет iPhone 5, поэтому нам нужен кто-то, чтобы протестировать последние файлы armv7s

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc =/Приложения/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/usr/bin/ССАГПЗ --as = 'gas-preprocessor/gas-preprocessor.pl/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot =/Применения/Xcode.app/Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/SDKs/iPhoneOS6.0.sdk --cpu = cortex-a8 --extra-cflags = '- arch armv7s' --extra-ldflags = '- arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk" --enable-pic --enable-decoder = rawvideo --disable-asm