Cercando di compilare x264 e ffmpeg per iPhone - “manca un braccio architettura richiesta nel file”
Domanda
Sto cercando di compilare x264 per l'uso in un'applicazione iPhone. Vedo che ci sono le istruzioni su come compilare ffmpeg per l'uso sulla piattaforma qui: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html , ma non posso sembrare trovare qualche cosa questo completo per la compilazione x264 su iPhone. Ho trovato questo albero fonte: http://gitorious.org/x264-arm che sembra avere il supporto per la piattaforma ARM.
Questa è la mia linea di configurazione:
./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/"
... e dentro configure
sto usando lo script di gas-preprocessore (primo link qui sotto) come il mio assembler:
gas-preprocessor.pl gcc
Quando inizio compilazione, si pezzetti via per un po ', poi sputa fuori questi avvertimenti e un enorme elenco di simboli non definiti:
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:
La mia ipotesi è che il problema ha a che fare con il "braccio mancante necessaria architettura nel file" avvertimento ... tutte le idee?
Soluzione
Controlla questo sito: http://github.com/gabriel/ffmpeg-iphone-build File: build-x264-ARMv6
L'amerete!
Ciao e buona fortuna!
Altri suggerimenti
Molti degli sviluppatori che si verifichino problemi di compilazione fonti FFMpeg dopo il passaggio alla XCode 4.3. Ciò è dovuto principalmente al fatto che, a differenza nelle versioni precedenti, XCode4.3 si presenta come un fascio, e non include gli strumenti da riga di comando inizialmente.
Abbiamo cercato di costruire lo script universale; è possibile scaricare l'ambiente completo per la creazione di FFMpeg con XCode4.3 qui: https://github.com/melnikov /ffmpeg4iphone_4.3
Prerequisiti:
- è necessario disporre di XCode4.2 o 4.3 installato sul vostro Mac
- è necessario disporre di strumenti da riga di comando XCode installati (può essere installato tramite XCode -> Preferenze -> Download)
- è necessario disporre di git per installare Mac.
istruzioni e spiegazioni:
- posto script di build in qualche directory (ad esempio, / tmp / ffbuild), impostare il flag eseguibile su di esso (eseguendo 'chmod + x ./build)
- eseguire lo script. Quello che farà:
- sarà cassa ultima versione di FFMpeg nella directory FFmpeg (è possibile commentare tranquillamente questo fuori se si è già verificato FFmpeg nella directory corrente)
- cercherà di rilevare la posizione del vostro Xcode.app ed uscirà se non è installato Xcode
- cercherà di individuare gcc all'interno del Xcode.app e uscirà se non è trovato (puo 'accadere se non sono installati Xcode Tools Command)
- se i passaggi precedenti andato bene, lo script sarà
- creare build_results cartella
- verrà successivamente eseguito FFmpeg configurare e fare per 3 diverse architetture (ARMv6, ARMv7, i386) e li metterà in rispettive directory all'interno della cartella build_results
- verrà eseguito lipo e creare librerie universali (e li metterà dentro build_results / Universal) la cartella.
A proposito, ho testato lo script su un certo numero di Mac del mio collega, e alcuni di loro tendono a non prodotto risultati in mdfind per Xcode.app. Quindi, se lo script restituirà 'Xcode non è installato', non esitate a variabile XCODEPATH insieme al percorso di Xcode.app