编译 LuaJIT 以在 iOS 模拟器上运行

有人知道在交叉编译LuaJIT iOS Simulator时传递给make的正确标志吗?我设法在设备上运行它,但是我在为模拟器构建时遇到了问题,在网上找不到可用的示例。谢谢!

在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”

清洗使
制造 HOST_CFLAGS =“-arch i386” HOST_LDFLAGS =“-arch i386” TARGET = x86 CROSS = $ ISDKP TARGET_FLAGS =“$ ISDKF”TARGET_SYS = iOS

这是我得到的错误消息:

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

构建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”

清洗使
做主人CC =“gcc-m32-arch i386” CROSS = $ ISDKP TARGET_FLAGS =“$ ISDKF”TARGET_SYS = iOS
点赞
用户4747372
用户4747372

将下面翻译成中文并且保留原本的 markdown 格式:

将“-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为:“静态”

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

2015-04-03 18:53:22