为iOS模拟器编译LuaJIT

时间:2014-12-24 13:40:33

标签: ios lua xcode6 luajit

有没有人知道要传递的正确标志,以便为iOS模拟器交叉编译LuaJIT?我设法让它在设备上运行,但是我在为模拟器构建时遇到了麻烦,我无法在网络上的任何地方找到一个有效的示例。

谢谢!

LuaJIT checkout内部(我正在使用v2.1分支):

IXCODE=`xcode-select -p`
ISDK=$IXCODE/Platforms/iPhoneSimulator.platform/Developer
ISDKVER=iPhoneSimulator8.1.sdk
ISDKP=/usr/bin/
ISDKF="-arch i386 -isysroot $ISDK/SDKs/$ISDKVER"

make clean
make HOST_CFLAGS="-arch i386" HOST_LDFLAGS="-arch i386" TARGET=x86 CROSS=$ISDKP TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS

这是我收到的错误消息:

  

ld:为MacOSX构建,但是为针对iOS模拟器文件构建的dylib链接'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk/usr/lib/ libSystem.dylib'用于体系结构i386

建立armv7作品:

IXCODE=`xcode-select -p`
ISDK=$IXCODE/Platforms/iPhoneOS.platform/Developer
ISDKVER=iPhoneOS8.1.sdk
ISDKP=/usr/bin/
ISDKF="-arch armv7 -isysroot $ISDK/SDKs/$ISDKVER"

make clean
make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS

1 个答案:

答案 0 :(得分:0)

将-mios-simulator-version-min = 8.1添加到您的TARGET_FLAGS

ISDKF="-arch i386 -isysroot $ISDK/SDKs/$ISDKVER"

应该是

ISDKF="-arch i386 -mios-simulator-version-min=8.1 -isysroot $ISDK/SDKs/$ISDKVER"

您可能还需要设置

BUILDMODE="static"

您可能需要设置ios-simulator-version-min以匹配模拟器sdk版本。 8.2适用于Xcode 6.2。