Der Versuch, für iPhone x264 und ffmpeg zu kompilieren - „erforderlich Architektur Arm in der Datei fehlt“

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

  •  25-09-2019
  •  | 
  •  

Frage

Ich versuche, für die Verwendung in einer iPhone-Anwendung zu kompilieren x264. Ich sehe, gibt es Anweisungen, wie hier auf der Plattform für den Einsatz kompilieren ffmpeg: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html , aber ich kann nichts dieses komplett zu finden scheinen auf dem iPhone x264 kompilieren. Ich habe diesen Quellbaum gefunden: http://gitorious.org/x264-arm das scheint haben Unterstützung für die ARM-Plattform.

Hier ist meine Config-Zeile:

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

... und innen configure Ich bin mit dem Gas-Prä-Prozessor-Skript (erster Link oben) als meinen Assembler:

gas-preprocessor.pl gcc

Wenn ich anfangen zu kompilieren, es Brocken weg für eine kleine Weile, dann spuckt es diese Warnungen und eine riesige Liste von undefinierten Symbolen:

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:

Meine Vermutung wäre, dass das Problem mit dem „fehlenden erforderlich Architektur Arm in der Datei“ Warnung zu tun hat ... irgendwelche Ideen?

War es hilfreich?

Lösung

Prüfen Sie diese Seite: http://github.com/gabriel/ffmpeg-iphone-build Datei: build-x264-ARMv6

Sie werden es lieben!

Bye & Good Luck!

Andere Tipps

Viele der Entwickler treten Probleme Kompilieren FFMpeg Quellen nach dem Übergang in XCode 4.3. Dies ist vor allem aufgrund der Tatsache, dass im Gegensatz zu früheren Versionen XCode4.3 als Bundle kommt, und beinhaltet nicht die Befehlszeilentools zunächst.

Wir haben versucht, den Universal-Skript zu bauen; Sie können für den Aufbau FFMpeg zusammen mit XCode4.3 der kompletten Umgebung hier herunterladen: https://github.com/melnikov /ffmpeg4iphone_4.3

VORAUSSETZUNGEN:

  1. Sie haben XCode4.2 oder 4.3 installiert auf Ihrem Mac haben
  2. Sie müssen XCode Kommandozeilen-Tools installiert haben (über XCode installiert werden -> Einstellungen -> Downloads)
  3. Sie haben git haben für Mac installiert ist.

Anweisungen und Erläuterungen:

  1. Ort Build-Skript in ein Verzeichnis (zB / tmp / ffbuild), ausführbar Flagge auf sie (durch Ausführen von ‚chmod + x ./Build)
  2. das Skript ausführen. Was wird es tun:
  3. wird es neueste Version von FFMpeg in FFmpeg Verzeichnis Kasse (Sie sicher diesen heraus kommentieren, wenn Sie bereits aus FFmpeg in aktuelles Verzeichnis überprüft haben)
  4. wird es versuchen, die Position Ihres Xcode.app zu erkennen und beendet, wenn Xcode ist nicht installiert
  5. wird es versuchen, gcc innerhalb des Xcode.app zu lokalisieren und beendet, wenn sie nicht gefunden wird (dies kann passieren, wenn Xcode Befehl Tools nicht installiert sind)
  6. , wenn die obigen Schritte lief reibungslos, Skript wird
  7. erstellen build_results Ordner
  8. wird anschließend laufen FFmpeg configure und make für 3 verschiedene Architekturen (ARMv6, ARMv7, i386) und wird sie in die entsprechenden Verzeichnisse innerhalb von build_results setzen Ordner
  9. wird Lipo laufen und universal Libs schaffen (und wird sie innerhalb build_results / Universal setzen) Ordner.

BTW, habe ich das Skript auf einer Reihe meiner Kollegen macs getestet, und einige von ihnen sind in der Regel keine Ergebnisse in mdfind für Xcode.app zurückzukehren. Also, wenn das Skript zurückgeben ‚Xcode ist nicht installiert‘, wenden Sie sich an Satz XCODEPATH Variable auf den Weg zu Xcode.app

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top