Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120521
  • 博文数量: 83
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-31 11:07
个人简介

弃我去者,昨日之日不可留; 乱我心者,今日之日多烦忧。

文章分类

分类: Android平台

2015-01-05 10:12:57



准备安装  cdt,sdk ,adt ndk


1.1Eclipse+CDT

首先确保你的Eclipse正确安装了CDT插件,这样你才能编辑和创建C++工程,有关Eclipse+CDT的环境配置,请自行google

版本……不知道有没有影响,我的Eclipse3.7 IndigoCDT8.0.2


1.2Cocos2d-x

这个……必须的。

官网下载,建议cocos2d-2.0-x-2.0.3,这样稍后的例子你的会跟本文介绍的一样。


1.3Android SDK / ADT

既然想用eclipse,应该是想做Android平台吧,那么请正确安装Android SDKADT

只要开发Android项目,无论是否使用cocos2d-x引擎这都是必需的。也请自行google


1.4Android NDK

这是AndroidC++交叉编译器,如果要做Android版本也是必须的。官网下载,r8或以上版本。


//////////////////////////////////


安装完毕后,按照以下流程进行


三、Eclipse + Cocos2d-x

终于到了最关键的一章,也许你会发现,原来这么简单——甚至比使用vs还要简单。当然,除了一些需要手动操作的部分之外。



3.1 建立C++工程

如果你的Eclipse正确安装了CDT,你应该可以进行下面的操作,否则请参看1.1小节并自行google

启动Eclipse -> File -> New -> Project… -> C/C++ -> C++ Project

05.JPG


Next >:

06.JPG


选择Empty ProjectToolchains选择Microsoft Visual C++,起个名字叫HelloCppFinish


这样你就得到了一个基于ms vc++编译器的空的C++工程HelloCpp



3.2 创建cocos2d-x跨平台目录结构

手动的将\cocos2d-2.0-x-2.0.3\samples\HelloCpp目录下的全部文件夹考到你的这个项目下:

07.JPG


这样你就有了一个跟标准cocos2d-x一样的目录结构。



3.3 加入lib

右键点击HelloCpp工程,选择Properties -> C/C++ General -> Paths And Symbols

08.JPG


右边的Includes标签下Languages应该有3个,不同Eclipse版本可能名字显示不同,无所谓,随便点选其中一个,Add

09.JPG


Directory里面输入\cocos2d-2.0-x-2.0.3\cocos2dx所在的路径,当然你也可以在File system里面找。

注意下面有两个选项:Add to all configurationsAdd to all languages,都勾上。OK

10.JPG


然后继续Add,用同样的方式添加下面两个目录所在的路径:

\cocos2d-2.0-x-2.0.3\cocos2dx\include

\cocos2d-2.0-x-2.0.3\cocos2dx\platform\win32

注意都要勾选那两个选项。Apply -> OK



3.4 建立Android工程

如果你的Eclipse正确安装了Android SDKADT,你应该可以进行下面的操作,否则请参看1.3小节并自行google

选择EclipseFile -> New -> Project… -> Android -> Android Project from Existing Code

11.JPG


Next >:

12.JPG


Root Directory里面,选择你worckspace里面,刚才建立的那个C++工程HelloCpp文件夹下面的proj.androidFinish

13.JPG




3.5 建立cocos2d-x Android lib工程

上一节建立的工程会显示有错误,原因是没有导入cocos2d-xlib

再次选择EclipseFile -> New -> Project… -> Android -> Android Project from Existing Code,这一次在Root Directory里面,选择\cocos2d-2.0-x-2.0.3\cocos2dx\platform\android\java所在的路径::

14.JPG


Finish

这样你就有了一个cocos2d-xAndroidlib工程。

(顺便说一下,这个工程名字应该叫作libcocos2dx,但是不知道什么原因,我建出来的名字叫java……)



3.6 加入cocos2d-x Android lib

右键点击org.cocos2dx.hellocpp.HelloCpp工程,选择Properties -> Android:

15.JPG


如果右下方你的Library列表里有个项目前面有个红叉,选中,Remove。然后Add:

16.JPG


里面的列表会有刚才创建的libcocos2dx(我这里叫做javalib工程。OK

17.JPG


这个时候org.cocos2dx.hellocpp.HelloCpp工程没有错误了。



3.7 创建你自己的jni Builder

如果你正确下载并解压了Android NDK,你应该可以进行下面的操作,否则请参看1.4小节并自行google

右键点击org.cocos2dx.hellocpp.HelloCpp工程,选择Properties -> Builders:

18.JPG


如果你看到右边最上方那个带着蚂蚁图标的New Builder (1),选中,Remove。然后New

19.JPG


ProgramOK


Main标签下:

LocationBrowse File System中选择\android-ndk-r8b\ndk-build.cmd

Working DirectoryBrowse Workspace中选择Android 项目org.cocos2dx.hellocpp.HelloCpp

20.JPG



Refresh标签页下,第一个勾选上:

21.JPG



Environment标签页下,按New

NameNDK_MODULE_PATH

Value

x:\xxx\cocos2d-2.0-x-2.0.3;x:\xxx\cocos2d-2.0-x-2.0.3\cocos2dx\platform\third_party\android\prebuilt (其中x:\xxx是你cocos2d-2.0-x-2.0.3存放的位置),OK

22.JPG



Build Option标签页下,勾选During auto buildsSpecify working set of relevant resources

23.JPG


然后按Specify Resources,在org.cocos2dx.hellocpp.HelloCpp下的jni目录前打勾:

24.JPG


FinishApplyOKOK




四、如何使用

如果你顺利的进行了第三章所述的所有操作,你的跨平台环境已经完成了。但如果你仍然不知道该如何编写cocos2d-x代码并在Android设备上运行和调试,请继续向下看。



4.1 编写C++代码

经过上一章的操作之后,你的Eclipse里应该有了3个新的工程:

HelloCpp: 这是一个C++工程

libcocos2dx(我的叫做java这是一个cocos2dxAndroid版本lib工程

org.cocos2dx.hellocpp.HelloCpp: 这是一个Android工程

25.JPG


遵照cocos2d-x的跨平台解决方案,我们应该在HelloCpp工程的Classes下编写C++程序,HelloCpp工程自带了两个类:AppDelegateHelloWorldScene。你可以增加更多你自己的类。



4.2 运行Android项目

如果你已经在HelloCpp工程中编写了一些C++程序而急于想在Android设备上看到效果的话,你不应该编译和运行HelloCpp工程,而应该直接运行org.cocos2dx.hellocpp.HelloCpp工程。


但在运行之前,仍然需要我们手动的将HelloCpp 工程下的\HelloCpp\Resources目录下的所有资源文件都考到org.cocos2dx.hellocpp.HelloCpp工程的assets文件夹下。(或许将来有谁帮忙写个windows下的批处理来做这件事?)

在本例中,就是iphoneiphonehd文件夹:

26.JPG


然后选中org.cocos2dx.hellocpp.HelloCpp工程,点EclipseProject-> Build Project:

27.JPG


第一次build的时候会很慢,因为要把整个cocos2d-xlib都编译一遍,以后就不会这么慢了。编译完成的话在Console窗口应该能看到下面的输出:

28.JPG


这个时候libhellocpp.so已经生成了,接下来就可以在你的Android设备上运行你的org.cocos2dx.hellocpp.HelloCpp工程了!

(特别注意的一点是:好像模拟器对于openGLES的支持有问题,如果用模拟器运行这个例子的话会报错)



4.3win32版本(可选项)

你也许还记得1.5小节中的可选项:安装vs2008。如果你进行了这一步,那么你还可以使用vc++的编译器在win32环境下编译和运行你的HelloCpp工程。

据说cocos2dx自带的模拟器也挺不错,不过因为我没有做这一步,所以我也不知道实际效果是什么,而且你也不要指望我会在本文中给你攻略。


阅读(1360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~