2012-11-09 52 views
3

我已經成功地添加Lua到一個默認的Xcode模板項目按照this very helpful post描述的過程,並得到了「你好,世界。」。文字打印。Lua與Cocos2D和Box2D給編譯錯誤

然而,當我嘗試到Lua添加到現有的Cocos2D/Box2D的項目,下面一模一樣的過程中,我得到一個編譯錯誤:

Undefined symbols for architecture i386:

"luaL_newstate()", referenced from ...

這個錯誤我的搜索結果是指其中的一個可能出現的問題,我想在我的情況下確定:

  • 目標的構建階段 - >編譯源代碼 - 但同樣Lua.c文件中都默認模板項目和我的Cocos2D/Box2D的項目
  • 我設置了標題搜索默認項目的路徑以匹配Cocos2D/Box2d項目中的路徑,並且該模板仍然可以很好地編譯。
  • 模板項目使用的所有框架也在我的Cocos2D/Box2d項目中。

我錯過了什麼?

任何幫助將不勝感激。謝謝!

回答

3

最近我已經完成了這個集成,你在那裏的問題是Lua文件是用C編寫的,而Box2D是C++。

您需要包裹的Lua包括像:

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

這應該解決的問題,如果不張貼與你所得到的錯誤註釋。

+0

非常感謝!這太棒了,它現在完美。你爲我節省了很多挫折。 –