3

按照这篇非常有用的帖子中描述的过程,我已成功地将 Lua 添加到默认 Xcode 模板项目中,并获得了“Hello, world”。文字印刷。

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

架构 i386 的未定义符号:

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

我对这个错误的搜索结果是指这些可能的问题之一,我认为在我的情况下是可以的:

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

我错过了什么?

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

4

1 回答 1

3

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

您将需要像这样包装 Lua 包括:

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

如果没有对您遇到的错误发表评论,那应该可以解决问题。

于 2012-11-10T01:07:42.010 回答