iPhone上的Lua?

我正在尝试在 iPhone 上使用 Lua。在 Mac OS X 上,在普通(非 iOS)Cocoa 应用程序中,我使用了以下代码:

lua_State* l;
l = lua_open();
luaL_openlibs(l);
luaL_loadstring(l, "print(\"Hi from Lua\");");
lua_pcall(l, 0, 0, 0);

我从 lua.org/ftp 下载了 Lua 5.1.4 并将其编译为 Mac OS X。 在 Xcode 项目中,我使用“添加现有框架”添加了 'liblua.a',使用“添加现有文件”添加了包括目录。

这按预期工作,并打印了字符串:“Hi from Lua”。 当我尝试在 iOS 项目中做同样的事情时,它会出现以下错误:

“_luaL_newstate”,在/ main.o中引用:
更多的相同东西...
找不到符号
collect2:ld返回1个退出状态

似乎 .a 文件没有链接到 iPhone 应用程序中。 有人知道怎么让它工作吗?

(顺便说一句,我并不真的在意如果我的应用程序中有 Lua,苹果可能不接受它。)

原文链接 https://stackoverflow.com/questions/937136

点赞
stackoverflow用户97337
stackoverflow用户97337

你需要为 ARM 编译 Lua .a 库,而非 Intel。如果 Lua 库使用 autoconf,你可以使用我的最爱 build_for_iphoneos 工具构建。详情请见:build_for_iphoneos。如果不是 autoconf,那么你可以使用这个脚本来了解如何攻击它。有时,您可以只创建一个静态库项目,将所有文件倒入其中并进行编译。如果构建足够简单,则它将为您完成大部分工作。

我知道这对你的使用可能并不重要,但基于 Lua 的工具通常可以在应用商店中发布。你只是不能在运行时下载任意代码并解释它。

2009-06-01 22:43:03
stackoverflow用户145345
stackoverflow用户145345

你可能想了解一下 iPhone Wax。它是一种 Lua/iPhone 桥接工具,可以让你使用纯 Lua 写本地的 iPhone 应用程序!这是一篇相当不错的教程关于它。这里

2009-10-05 17:22:58
stackoverflow用户1273669
stackoverflow用户1273669

如果你想为 iOS 编写 Lua 代码,那么赶快去看看 MOAI:http://getmoai.com/

它是一个非常有趣的框架,可用于开发 iOS 和 Android 游戏,以及 Windows 和 OSX。不仅如此,它还提供了一个相当好的想法,如何在跨平台的方式下,适当地实现基于 Lua-VM 的托管环境进行脚本编写:从 MOAI,你可以学到很多关于这方面的知识。迄今为止,我已经用 MOAI 做了4个游戏,而且不会停止。。 MOAI 真的非常棒!

另外还要看看 LOAD81,虽然使用的是 SDL 作为目标环境,但也是一个类似的项目:http://github.com/antirez/load81

(我对 LOAD81 项目做出了一点贡献,特别是为 OpenPandora 社区提供了一些有趣/有价值的功能。MOAI 更商业化,LOAD81 更业余。。)

对于那些试图学习 Lua 和在多个平台目标中集成 Lua VM 不同方法的人来说,MOAI 和 LOAD81 都可以提供很多有关正确进程的背景知识和线索。

2012-03-30 09:58:06