送给刚刚開始学cocos2d-x引擎 移植Android的同学

送给刚刚開始学cocos2d-x引擎 移植Android的同学

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

刚刚開始学cocos2-x,不过依照教程把已经安了一般Android的开发环境的eclipse又一次升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了。

參考博客 http://blog.csdn.net/b1boy/article/details/14645277

说说大概的过程:

下载ndk插件,ndk包,cdt插件。最開始我依照书上的下载了cocos2d-x 2.0.1,希望跟书上统一起来,这样以后学习的时候能够參考书上的也不会遇到太多问题。下好了之后就遇到了问题,我的电脑上仅仅有vs2013 ,而那个版本号的仅仅支持2010和2008,我把项目转成了vs2013的之后,新建project的时候发现没有cocos2d的模板,这就是2013的跟那个衔接有点问题。然后我又下载了cocos2d-x2.2.3版本号的,接着听室友说新版的不能再用vs来新建项目,接着又百度看看最新的是怎么一回事,原来是用Python脚本来一次新建多平台的多个project。好吧,接着下载Python,由于习惯问题我每次喜欢下载最新的软件,下载下来安装好了,环境变量也配好了,開始新建2.2.3的项目(顺便说一下,2.0.1的貌似还不能用Python这样的方法建,由于我没找到对应的文件,不知道是不是还有其它方法,所以我才下载2.2.3版本号的),执行的时候发现控制台报错,语法错误,说那个print怎么滴。。。又百度了一下才知道3.0版本号以后的Python的print改成了函数要写成print()才行,没办法卸载了又下载了一个2.7版本号的,接下来就是一马平川了,可是。。。。这仅仅是新建了项目而已,能不能编译然后在你手机上执行就难说了。

至于那个是怎么导入的我就不说了,说关键的,就是那么多红叉是怎么消除的。

1.把cocos2d-x-2.2.3\cocos2dx\platform\android\java 加入�到eclipse里面,方便以后调用。

2.把1导入的那个project加入�到buildpath。

3.參考http://blog.csdn.net/b1boy/article/details/14645277,这里面说的比較好,

NDK_ROOT 路径为D:\AndroidSDK\android-ndk-r9d

COCOS2DX路径为D:\cocos2d-x\cocos2d-x-2.2.3

NDK_MODULE_PATH 路径为 D:\cocos2d-x\cocos2d-x-2.2.3;D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt

声明一下,上面的NDK_MODULE_PATH我在其它的博客上看到有些人说两个路径之间的那个是冒号,比方路径1:路径2:路径3。。。,我也改过这样,没改好,最后还是用的分号。事实证明分号是对的,不知道他们为什么非要强调说用冒号,可能是版本号的问题。

这两点非常重要,看清楚图上说的位置,设置好了错误基本上差点儿相同没了

4.改动Android.mk 加入�

$(call import-add-path,D:\cocos2d-x\cocos2d-x-2.2.3)
$(call import-add-path,D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)

5.NDK的路径里面绝对不能用空格。在eclipse里面调用的时候没提示我不能够,可是一用命令行你就会发现提示 路径里面不能有空格。至于cocos2dx的路径能不能有空格,我如今也记不清了,为了保险起见大家设置路径的时候都不要有空格或者中文字符。

6.假设cpp或者Java里面有文件说头文件或者包 类 没找到,你须要把D:\AndroidSDK\android-ndk-r9d\platforms\android-14\arch-arm\usr\include包括进去,new folder->advanced->link。。。->finish这样加入�进去。

以上就是我几十个小时的总结,哎。。。总算搞定了开头部分。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118531.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言int16_msgbox用法举例

    c语言int16_msgbox用法举例在看别人代码的时候看到了__int16定义的变量于是好奇,为什么不用int定义上网查了一下首先要知道这里的16是指16个位一个汉子有两个字节(byte)一个int有4个字节而一个字节有8个位(bit)也就是一个int有32个位(bit)而这里的__int16也就是一个汉字的长度但int是两个汉字的长度这样定义还有一个优点就是无论什么操作系统所定义出来的

    2022年8月15日
    6
  • 【学习】——提问的智慧[通俗易懂]

    【学习】——提问的智慧[通俗易懂]声明许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显著位置上注明:本指南不提供此项目的实际支持服务!我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。如果你是因为需要某些协助而正…

    2022年7月26日
    7
  • Excel VBA编程

    Excel VBA编程文章目录如何创建VBAVBA语法规则声明变量给变量赋值让变量存储的数据参与运算关于声明变量的其他知识变量的作用域特殊的变量——数组声明多维数组声明动态数组其他创建数组的方法数组函数利用UBound求数组的最大索引号利用LBound函数求最小索引号求多维数组的最大和最小索引号用join函数将一维数组合并成字符串将数组内容写入工作表中数组的存取特殊数据的专用容器——常量对象,集合及对象的属性和方法VB…

    2022年4月28日
    78
  • 递归简单举例_递归定义举例

    递归简单举例_递归定义举例刚接触递归的同学,可能难以理解递归,难以理解的点可能很多,例如:1.函数为什么可以在自己的内部又调用自己呢?2.既然可以自己调用自己,那么递归运行过程中一定回有很多层相互嵌套,到底什么时候不再嵌套呢?3.递归运行过程中,相互嵌套的多层之间会有参数传递,多层之间是否会相互影响?递归两个要素1.递归边界2.递归的逻辑——递归”公式”递归的过程一定有参数的变化,并且参

    2022年10月28日
    0
  • touchesBegan: withEvent: 不执行/完美收起键盘

    touchesBegan: withEvent: 不执行/完美收起键盘eg:写一个category类目 UIScrollView+Event-(void)touchesBegan:(NSSetUITouch*>*)toucheswithEvent:(UIEvent*)event{  [supertouchesBegan:toucheswithEvent:event];  [[[selfnext

    2022年7月25日
    4
  • 13万人12306信息泄露 小伙挨个发邮件通知

    13万人12306信息泄露 小伙挨个发邮件通知

    2022年3月5日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号