当前位置:  开发笔记 > 编程语言 > 正文

Lua在iPhone上?

如何解决《Lua在iPhone上?》经验,为你挑选了2个好方法。

我想在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并使用"添加现有文件"添加include目录.

这按预期工作,并打印字符串:"来自Lua".当我在iOS项目中尝试相同的事情时,它会给出错误:

"_luaL_newstate", referenced from:
_main in main.o
more of the same thing...
symbol(s) not found
collect2: ld returned 1 exit status

似乎.a文件没有链接到iPhone应用程序.有人知道如何使这项工作?

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



1> Rob Napier..:

你需要为ARM编译Lua .a,而不是Intel.如果Lua库使用autoconf,你可以使用我最喜欢的iphone/autoconf builder : build_for_iphoneos. 如果它不是autoconf,那么你可以使用该脚本来了解如何攻击它.有时您可以构建一个静态库Xcode项目,将所有文件转储到其中并点击构建.如果构建足够简单,它将为您完成大部分工作.

我知道它对您的使用无关紧要,但基于Lua的工具通常可以在应用程序商店中发布.您无法在运行时下载任意代码并对其进行解释.


它是Lua,而不是LUA.它不会'使用autoconf,顺便说一下
非常感谢,为ARM工作编译.我所做的只是将src文件夹放入Xcode项目,创建一个静态库目标,并将所有.h和.c文件放在目标的Compile Sources文件夹中,我有我的工作库.

2> probablyCore..:

你可能想看看iPhone Wax.它是一个lua/iPhone桥,让你用纯粹的lua编写本机iPhone应用程序!这是一个非常好的教程.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有