Lua适用于ARMv7/ARMv7s

我正在使用cocos2d-x在xcode上编写游戏,并且我在为armv7 / 7s编译正确版本的Lua时遇到问题。

这是我收到的错误消息:

' ld:警告:忽略文件 /Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a,该文件是为链接的架构(armv7)构建的存档文件:/Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a 未定义的符号的体系结构ARMV7: “_luaL_newstate”,引用自: 行为::onTerminate(状态)在行为中 “_luaL_openlibs”,来自: 行为::onTerminate(状态)在行为中 LD:找不到符号(s)的结构ARMV7 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用) '

如果选择为macosx(而不是iOS)编译,LUA确实起作用。

编辑:最终我使用了较旧的Lua版本5.1.4,并遵循了这里的说明:http://blog.stokedsoftware.com/blog/2012/02/05/scripting-ios-games-with-lua-part-ii/ 这种方法不需要lualib.a外部库,而是xcode将lua源代码构建到项目中。

注意:虽然他的代码是Objective C,但我发现他的方法对于cocos2d-x确实有效。

他特别从构建中排除了lua.c和luac.c文件。我选择不这样做,但我注释了int main()函数,因为它们将与main.m中的函数冲突。我将在稍后回答这个问题,但我仍然有兴趣知道如何为arm7 / 7s构建liblua.a。

点赞
用户1254334
用户1254334

编辑:我最终使用了旧版本的 Lua,即版本 5.1.4,并按照这里的说明进行操作:http://blog.stokedsoftware.com/blog/2012/02/05/scripting-ios-games-with-lua-part-ii/ 这种方法不需要外部库 lualib.a,而是将 Lua 源码直接构建到项目中。

注意:尽管他的代码是 Objective C,但我发现他的方法确实适用于 cocos2d-x。

他特别排除了 lua.c 和 luac.c 文件的构建。我选择没有排除,但我注释了 int main() 函数,因为它们将与 main.m 中的函数冲突。我会很快标记这个问题为已解决,但我仍然想知道如何为 arm7/7s 构建 liblua.a。

2013-04-09 03:44:08