交叉编译适用于iOS的Jansson C库

时间:2014-04-25 23:30:28

标签: c++ c gcc cross-compiling llvm-gcc

我正在尝试从我的机​​器(x86_64)交叉编译Jansson for iOS(armv7)。我已经了解到,使用xcode 5,apple已经删除了llvm-gcc,因此无法找到armv7-apple-darwin-gcc。结果lib是为x86_64编译的。

这是我目前的配置:

./configure --prefix=/resultdir --host=armv7-apple-darwin --target=armv7-apple-darwin

我看到多个人说他们已经为手臂架构编译了jansson所以我知道它可能。似乎无法做到。

关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:4)

我的系统上安装了较旧的iPhoneOS 5.0 SDK。我相信你也可以使用更新的版本。以下脚本为我成功编译了Jansson:

export CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang"
export CPP="clang -E"

export SDKPATH="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk"
export CFLAGS="-arch armv7 -isysroot ${SDKPATH} -miphoneos-version-min=5.0"

export LDFLAGS="-isysroot ${SDKPATH}"

./configure --host=arm-apple-darwin10

make

结果是我没有测试过的库,但是file返回了一个arm架构库:

$ file src/.libs/libjansson.4.dylib
src/.libs/libjansson.4.dylib: Mach-O dynamically linked shared library arm

针对您已安装的SDK适当调整SDKPATH-miphoneos-version-min=5.0