Compilação cruzada da biblioteca estática do ARM com o GCC para projetos Mac xCode do iOS

2

Estou cruzando compilação de biblioteca estática de brinquedo alvo ARM para o uso em projetos Mac iOS xCode.

Na biblioteca há apenas 2 arquivos atoy.c e atoy.h com função simples, recebendo 2% de argumentosint e retornando int resultado da combinação deles.

As etapas de compilação cruzada são:

arm-none-eabi-gcc -g -Wall -march=armv7-a -c atoy.c
arm-none-eabi-ar rcs libatoy.a atoy.o
arm-none-eabi-ranlib libatoy.a

O resultado libatoy.a usado no xCode 7.1.1 com o aplicativo iOS do tipo de projeto fornece os seguintes erros:

... normal armv7
...
export IPHONEOS_DEPLOYMENT_TARGET=9.1
...
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk
...
/Users/.../Library/Developer/Xcode/DerivedData/.../Build/Intermediates/....build/Debug-iphoneos/PerformanceTest.build/Objects-normal/armv7/....LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=9.1 -dead_strip -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime -latoy -Xlinker -dependency_info -Xlinker
...
ld: warning: ignoring file /Users/.../libatoy.a, file was built for archive which is not the architecture being linked (armv7): /Users/.../libatoy.a
Undefined symbols for architecture armv7:
    "_aadd", referenced from:
    -[ViewController runTest] in ViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Deve haver algumas diferenças de formato de arquivo .a que são geradas no Linux Mint 17.2 x64. Ou o caso é difícil de compilação cruzada canadense build-host-alvo problema?

Estou usando o gcc-arm-none-eabi package.

    
por Chesnokov Yuriy 13.11.2015 / 18:01

1 resposta

1

Lembro-me de ler sobre problemas de compatibilidade com o XCode 7 ao tentar compilar o NetBSD 7 para o ARM. Eu desisti disso e o compilei em um servidor Linux no trabalho, então não posso dar mais detalhes.

    
por 13.11.2015 / 21:37