OGeek|极客世界-中国程序员成长平台

标题: c++ - 用于 ARMv7/ARMv7s 的 Lua [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:10
标题: c++ - 用于 ARMv7/ARMv7s 的 Lua

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

这是我收到的错误消息:

ld: warning: ignoring file 
/Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a, file was built for archive which is not the architecture being linked (armv7): /Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a
Undefined symbols for architecture armv7:
  "_luaL_newstate", referenced from:
      Behavior:nTerminate(Status) in Behavior.o
  "_luaL_openlibs", referenced from:
      Behavior:nTerminate(Status) in Behavior.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果我选择为 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。



Best Answer-推荐答案


查看编辑:

编辑:我最终使用了较旧的 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。

关于c++ - 用于 ARMv7/ARMv7s 的 Lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876532/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4