Lua与Cocos2D和Box2D给出编译错误

时间:2012-11-09 22:30:31

标签: xcode cocos2d-iphone lua box2d

我已按照this very helpful post描述的过程成功将Lua添加到默认的Xcode模板项目中,并获得了“Hello,world”。文字印刷。

然而,当我尝试将Lua添加到我现有的Cocos2D / Box2d项目时,遵循完全相同的过程,我收到编译错误:

  

架构i386的未定义符号:

     

“luaL_newstate()”,引用自   ...

我对这个错误的搜索结果是指其中一个可能出现的问题,我认为在我的情况下这是正常的:

  • 目标的构建阶段 - >编译源 - 但默认模板项目和我的Cocos2D / Box2d项目中的Lua.c文件相同
  • 我将默认项目的标题搜索路径设置为与Cocos2D / Box2d项目中的匹配,并且模板仍可正常编译。
  • 模板项目使用的所有框架也在我的Cocos2D / Box2d项目中。

我错过了什么?

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:3)

我最近完成了这个集成,你遇到的问题是Lua文件是用C语言编写的,而Box2D是C ++。

你需要像这样包装Lua包含:

#ifdef __cplusplus
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#endif

这应该可以解决问题,如果没有发布你正在收到的错误的评论。