2010-04-09 1 views
0

Я пытаюсь скомпилировать x264 для использования в приложении iPhone. Я вижу, что есть инструкции о том, как скомпилировать ffmpeg для использования на платформе здесь: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html, но я не могу найти что-либо такое для компиляции x264 на iPhone. Я нашел это исходное дерево: http://gitorious.org/x264-arm, который, похоже, поддерживает платформу ARM.Попытка скомпилировать x264 и ffmpeg для iPhone - «Отсутствует требуемая архитектура в файле»

Вот мой конфиг линия:

 
./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: 

Я предполагаю, что проблема связана с «отсутствием требуемой архитектуры в файле», предупреждением ... любыми идеями?

ответ

1

Многие разработчики испытывают проблемы с компиляцией источников 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 + х ./build)
  2. запустите сценарий. Что он будет делать:
  3. это проверка последней версии FFMpeg в папку FFmpeg (вы можете смело комментировать это, если вы уже проверили FFmpeg в текущем каталоге)
  4. он будет пытаться определить местоположение вашего Xcode. приложение и выйдет, если Xcode не установлен
  5. он попытается найти gcc внутри Xcode.приложение и будет выходить, если он не найден (это может произойти, если Xcode Command Tools не установлен)
  6. если вышеуказанные шаги протекал гладко, скрипт
  7. создать build_results папку
  8. будет впоследствии работать FFmpeg настроить и сделать 3 (armv6, armv7, i386) и поместит их в соответствующие каталоги внутри папки build_results
  9. запустит липо и создаст универсальные библиотеки (и поместит их внутри build_results/Universal).

BTW, я протестировал сценарий на нескольких маках моего коллеги, и некоторые из них, как правило, не возвращают никаких результатов в mdfind для Xcode.app. Итак, если скрипт вернет «Xcode не установлен», не стесняйтесь устанавливать переменную XCODEPATH в путь к Xcode.app

+0

Опять же, я переместил содержимое вашего сообщения в блоге в ваш ответ, чтобы сделать это проще для людей, которые относятся к ним и более устойчивы к связыванию гнили. –

+0

Спасибо, Брэд - это будет намного проще, я думаю! – StexGroup