Tentando compilar X264 e FFMPEG para iPhone - “Faltando o braço de arquitetura necessário no arquivo”

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

  •  25-09-2019
  •  | 
  •  

Pergunta

Estou tentando compilar o X264 para uso em um aplicativo para iPhone. Vejo que há instruções sobre como compilar o FFMPEG para uso na plataforma aqui: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-october/076618.html , mas não consigo encontrar nada tão completo para compilar o X264 no iPhone. Eu encontrei esta árvore de origem: http://gitorious.org/x264-arm Isso parece ter suporte para a plataforma do ARM.

Aqui está minha linha de configuração:

./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 Estou usando o script de preprocessador a gás (primeiro link acima) como meu assembler:

gas-preprocessor.pl gcc

Quando começo a compilar, ele se afasta por um tempo, depois cospe esses avisos e uma enorme lista 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:

Meu palpite seria que o problema tem a ver com o aviso "ADEXIONADO DE ARQUITETURA DE ARQUITATURA NÓGIA", alguma idéia?

Foi útil?

Solução

Verifique este site: http://github.com/gabriel/ffmpeg-iphone-buildArquivo: Build-X264-Armv6

Você vai adorar!

Tchau, boa sorte!

Outras dicas

Muitos dos desenvolvedores experimentam problemas de compilação de fontes do FFMPEG após a transição para o Xcode 4.3. Isso se deve principalmente ao fato de que, diferentemente das versões anteriores, o Xcode4.3 é um pacote e não inclui as ferramentas da linha de comando inicialmente.

Tentamos construir o script universal; Você pode fazer o download do ambiente completo para a construção do FFMPEG junto com o xcode4.3 aqui: https://github.com/melnikov/ffmpeg4iphone_4.3

Pré -requisitos:

  1. Você precisa ter o xcode4.2 ou 4.3 instalado no seu Mac
  2. Você precisa ter as ferramentas de linha de comando Xcode instaladas (podem ser instaladas via xcode -> preferências -> downloads)
  3. Você precisa ter o git para o Mac instalado.

Instruções e explicações:

  1. Coloque o script de construção em algum diretório (digamos,/tmp/ffbuild), defina o sinalizador executável (executando 'chmod +x ./build)
  2. execute o script. O que isso fará:
  3. Ele irá verificar a versão mais recente do FFMPEG no diretório FFMPEG (você pode comentar com segurança se você já fez check -out ffmpeg no diretório atual)
  4. Ele tentará detectar a localização do seu xcode.app e sairá se o Xcode não estiver instalado
  5. Ele tentará localizar o GCC dentro do xcode.app e sairá se não for encontrado (isso pode acontecer se as ferramentas de comando xcode não estiverem instaladas)
  6. Se as etapas acima funcionarem sem problemas, o script irá
  7. Crie a pasta Build_Results
  8. Posteriormente, executará o FFMPEG Configurar e criará 3 arquiteturas diferentes (ARMV6, ARMV7, I386) e as colocará em respectivos diretórios dentro da pasta Build_Results
  9. Executará o LIPO e criará Libs Universal (e os colocará na pasta Build_Results/Universal).

BTW, eu testei o script em vários Macs do meu colega, e alguns deles tendem a não retornar nenhum resultado no mdfind para xcode.app. Portanto, se o script retornará 'Xcode não estiver instalado', sinta -se à vontade para definir a variável xcodepath para o caminho para xcode.app

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top