您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x 创建lua项目问题

2016-05-18 20:17 381 查看
自学了将近一个月的cocos2d-x。本来没觉得有什么好记录的,都是些函数接口的调用之类的东西。但是今天解决的问题,让我不得不记录下来,为机智的我庆祝一下。

在学到lua项目这时,创建cocos2d-x项目时勾选了support lua的选项然后项目还没建立出来,就报错了。

错误一



看到这个第一感觉就是安装包有问题,因为当初配置环境的时候都做得很对,但是细想应该不是安装包的问题,谁会无缘无故删除一些文件,再压缩传到网上,来坑人啊。

仔细看这个错误“无法找到......“,很明显系统给的路径找不到对应的文件,然后自己就按照这个路径找下去,首先是../../../../../前面的路径在这个路径下找到了Templates.inf文件,打开一看,就看到../../../../../scripting/lua/cocos2dx_support/LuaCocos2d.h,这句话,很明显这就是报错后面的那句话。然后我就从后面的路径开始找,在scripting/lua/cocos2dx_support/找到了LuaCocos2d.h文件了,但是这里的路径却明显不是文件所在的路径,于是我将Templates.inf换为绝对路径直接指向LuaCocos2d.h的文件,但是依然不行,因为E:\Cocos\cocos2d-x-2.2.3\template....这个路径依然存在,再加上我写的绝对路径,路径就有不对了,不知道怎么将前面自动添加是我路径去掉,陷入坑中。再细细观察,../是做什么的,在终端..是返回上一级的命令,这里也应该是,数了数从1003目录下,到scripting目录下,应该是返回了6次,而文件中只有5个../,自己尝试的加了一个。成功创建了。本来以为这样就ok了谁知道,后面还有错误。

错误二

好不容易创建了支持lua 的项目,迫不及待的运行一下,一运行就报错了。

std::string path = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("hello.lua");这句话错了,说什么fullPathFromRelativePath不是CCFileUtils 的成员,这是系统自动生成的代码又不是我自己写的还报错。
但是确实是报错了,不能编译,必须得改啊,但是改啥呢,自己不能凭空想吧,还是看代码这句话的意思很明显就是获得hello.lua的路径,但是这个函数没有了,只能转到CCFileUtils的定义处看看,这个函数变成什么了

看到个函数 virtual std::string fullPathForFilename(const char* pszFileName);也是获得文件的路径

也看到类似原来的函数了virtual const char* fullPathFromRelativeFile(const char *pszFilename, const char *pszRelativeFile);但是返回值是char*

反正是获得路径为什么不用第一个呢,于是将源代码改成std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("hello.lua");这个错误算是过了,但是又遇到了新的错误。

lua51.lib

pthreadVCE2.lib

错误三

各种无法解析命令

这个很明显示链接库错误,但是我又不知道具体是缺少了哪些链接库,无奈只能耐心在网上看各种帖子,

lua51.lib

pthreadVCE2.lib

加上这两个就解决了。

总结:

遇到这三种错误,虽然现在很快就将解决方法写完了,看起来也不是很麻烦,但是在真正找解决办法的时候却用去了大半天的时间,尝试了很多方法,中间也曾一度想要放弃,但是最终还是坚持下来了。当看到它跑成功的那一刻,感觉所有的辛苦都值得。为了自己的梦想坚持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: