cocos2d-x lua 绑定问题,

1.lua 绑定以后,在ios上正常使用,具体流程是将自己的类做一个pkg文件,而后使用tolua++ 工具,make 。
2.make完成以后发现LuaCocos2d.cpp 文件没有引入添加的class,而后手动#include,
3,而后在ios上编译,正常,一切都跟使用原生的c++类一样,没任何问题,
4,而后anroid,编译,出错了,说在LuaCocos2d.cpp 文件当中找不到我定义的那个类。
5,检查android.mk 文件 LOCAL_SRC_FILES 已经包含了那个文件,却还是不行,
麻烦大神指点,引入新类#include应该怎么写,并且新class应该放在什么位置。谢谢。

这个是anroid编译结果
Compile++ thumb : game_shared <= HNetRequest.cpp
Compile++ thumb : cocos_lua_static <= LuaCocos2d.cpp
/…/…/…/scripting/lua/proj.android/…/cocos2dx_support/LuaCocos2d.cpp:50:34: fatal error: HNetWork/HNetRequest.h: No such file or directory

HNetRequest.h ,在Classes 目录下,有一个NNetWork目录里面。

。。。等了几天解决了:最终解决方法,将自己的类放到extends目录下, liblua项目修改mk文件,增加自己新加的类,注意目录结构,引用导自己新增加的类就可以了。

#include可以写在pkg里面记得前面加上$

你检查的android.mk是你工程里的mk还是liblua里面的mk?

$#include “cocos2d.h”
USING_NS_CC; #include “LuaClippingArea.h”
$#include “UI/ClippingArea/ClippingArea.h”

$pfile “ClippingArea.pkg”

我比较喜欢在根pkg里面#include,感觉比较清晰

目测是mk问题

工程里面的mk文件

— Begin quote from ____

引用第3楼wangqiulei于2014-04-09 10:37发表的 回 1楼(孤独の快乐) 的帖子 :
工程里面的mk文件 http://www.cocoachina.com/bbs/job.php?action=topost&tid=197266&pid=921809

— End quote

LuaCocos2d.cpp是属于liblua的,你得改liblua工程的mk

不一定的吧,如果文件是放在class文件夹里面的话,修改工程mk也是可以的吧……

不过我都是自己写一个的,不需要修改liblua :13:

— Begin quote from ____

引用第5楼qq393830887于2014-04-09 10:50发表的 回 4楼(孤独の快乐) 的帖子 :
不一定的吧,如果文件是放在class文件夹里面的话,修改工程mk也是可以的吧……

不过我都是自己写一个的,不需要修改liblua :13: http://www.cocoachina.com/bbs/job.php?action=topost&tid=197266&pid=921849

— End quote

因为liblua的mk文件没有包含你工程的Classes文件夹,所以是找不到你工程里面的文件的
什么叫自己写一个呢

请问"UI/ClippingArea/ClippingArea.h" 这个目录是在自己项目的Classes里面吗?

你文件怎么放的,怎么解决的呢?

文件#include 该怎么写呢?我需要把自己的类放到LIblua项目里面吗?我重新修改了帖子,你再看下,谢谢了

Classs/UI/ClippingArea/ClippingArea.h, ClippingArea.cpp
Classs/ToLua/LuaClippingArea/basic.lua, ClippingArea.pkg, LuaClippingArea.cpp, LuaClippingArea.h, LuaClippingArea.pkg
简单点来说就是参考ToLua的,自己写一个……熟悉了之后就发现非常方便了 :13:

啊啊,我还是写个教程吧 == :9:

谢谢了,最好讲清楚,定义类的位置以及 #include 该写到那里,怎样和自己的类关联起来的。现在我很糊涂,看了很多教程,这一块都一笔带过,ios都没问题,anroid问题一大堆啊

http://blog.csdn.net/qq393830887?viewmode=contents
个人推荐高级版本,写得很粗糙,也没有图片和源码,请见谅 :14:

大哥这个教程写的太模糊了,我真的没法操作啊。能不能提供一个tolua的例子。3q