Intentando compilar x264 y ffmpeg para iPhone: "falta el brazo de arquitectura requerido en el archivo"

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

  •  25-09-2019
  •  | 
  •  

Pregunta

Estoy intentando compilar x264 para usarlo en una aplicación de iPhone.Veo que hay instrucciones sobre cómo compilar ffmpeg para usarlo en la plataforma aquí: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html , pero parece que no puedo encontrar nada tan completo para compilar x264 en el iPhone.Encontré este árbol de fuentes: http://gitorious.org/x264-arm que parece tener soporte para la plataforma ARM.

Aquí está mi línea de configuración:

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

...y dentro configure Estoy usando el script del preprocesador de gas (primer enlace arriba) como mi ensamblador:

gas-preprocessor.pl gcc

Cuando empiezo a compilar, se interrumpe por un momento y luego muestra estas advertencias y una lista enorme de símbolos indefinidos:

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:

Supongo que el problema tiene que ver con la advertencia "falta el brazo de arquitectura requerido en el archivo"... ¿alguna idea?

¿Fue útil?

Solución

Comprobar este sitio: http://github.com/gabriel/ffmpeg-iphone-build Archivo: build-x264-ARMv6

Se va a encantar!

Adiós y buena suerte!

Otros consejos

Muchos de los desarrolladores experimentan problemas al compilar fuentes FFMpeg después de la transición a XCode 4.3.Esto se debe principalmente al hecho de que, a diferencia de versiones anteriores, XCode4.3 viene como un paquete y no incluye las herramientas de línea de comandos inicialmente.

Hemos intentado construir el guión universal;Puede descargar el entorno completo para construir FFMpeg junto con XCode4.3 aquí: https://github.com/melnikov/ffmpeg4iphone_4.3

REQUISITOS PREVIOS:

  1. debes tener XCode4.2 o 4.3 instalado en tu Mac
  2. debe tener instaladas las herramientas de línea de comandos de XCode (se pueden instalar a través de XCode -> Preferencias -> Descargas)
  3. debes tener instalado git para mac.

INSTRUCCIONES y EXPLICACIONES:

  1. coloque el script de compilación en algún directorio (por ejemplo, /tmp/ffbuild), establezca el indicador ejecutable en él (ejecutando 'chmod +x ./build)
  2. ejecutar el script.Qué hará:
  3. verificará la última versión de FFMpeg en el directorio FFmpeg (puede comentar esto de manera segura si ya ha verificado FFmpeg en el directorio actual)
  4. Intentará detectar la ubicación de su Xcode.app y saldrá si Xcode no está instalado.
  5. intentará ubicar gcc dentro de Xcode.app y saldrá si no lo encuentra (esto puede suceder si las herramientas de comando Xcode no están instaladas)
  6. Si los pasos anteriores se ejecutaron sin problemas, el script
  7. crear la carpeta build_results
  8. Posteriormente ejecutará FFmpeg configure y creará 3 arquitecturas diferentes (armv6, armv7, i386) y las colocará en los directorios respectivos dentro de la carpeta build_results.
  9. ejecutará lipo y creará bibliotecas universales (y las colocará dentro de la carpeta build_results/Universal).

Por cierto, probé el script en varias Mac de mis colegas y algunas de ellas tienden a no arrojar ningún resultado en mdfind para Xcode.app.Por lo tanto, si el script devuelve "Xcode no está instalado", no dude en configurar la variable XCODEPATH en la ruta a Xcode.app.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top