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.
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.
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.
Tags gcc arm ios cross-compilation osx