Попытка компилировать X264 и FFMPEG для iPhone - «Отсутствие необходимой архитектуре в файл»

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

  •  25-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь компилировать X264 для использования в приложении iPhone. Я вижу, что есть инструкции о том, как компилировать FFMPEG для использования на платформе здесь: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-octoble/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: Предупреждение: опция - это устаревшая и игнорируется LD: предупреждение: -Force_cpusubtype_all станет неподдерживаться для архитектуры ARM LD: Предупреждение: в /usr/lib/crt1.o, отсутствует необходимая архитектура рука в файле ld: предупреждение: в / USR / X11R6 / lib / libx11.dylib, отсутствующая необходимая архитектура рука в файле ld: предупреждение: в /usr/lib/libm.dylib, отсутствует необходимая архитектура рука в файле ld: предупреждение: в /usr/lib/libpthread.dylib, Недоумение требуемая архитектурная рука в файле ld: предупреждение: в /usr/lib/libgcc_s.1.dylib, отсутствует необходимая архитектура рука в файле ld: предупреждение: в /usr/lib/libsystem.dylib, отсутствует необходимая архитектура рука в файле неопределенные символы :

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

Это было полезно?

Решение

Проверьте этот сайт: 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 и сделать для 3 разных архитектур (ARMV6, ARMV7, I386) и поместит их в соответствующие каталоги внутри папки Build_Results
  9. Будет запустить Lipo и создать универсальные libs (и поместит их внутри budie_results / универсальной) папки.

Кстати, я проверил скрипт на ряде Mac Macs, а некоторые из них имеют тенденцию не возвращать никаких результатов в MDFind для XCode.app. Итак, если скрипт вернет «XCode не установлен», пожалуйста, не стесняйтесь установить переменную XCodePath на путь к XCode.app

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top