欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mac上利用Eclipse编译Cocos2d

程序员文章站 2022-05-29 21:26:41
...

要利用Eclipse编译Cocos2d-x的C代码必须安装好CDT插件,并利用Cocos2d-x脚本生成好项目1:在Eclipse中选择FileNewOther,然后选择C/CConvert to a C/C Project (Adds C/C... 要利用Eclipse编译Cocos2d-x的C代码必须安装好CDT插件,并利用Cocos2d-x脚本生成好

要利用Eclipse编译Cocos2d-x的C++代码必须安装好CDT插件,并利用Cocos2d-x脚本生成好项目1:在Eclipse中选择FileNewOther,然后选择C/C++Convert to a C/C++ Project (Adds C/C+...

要利用Eclipse编译Cocos2d-x的C++代码必须安装好CDT插件,并利用Cocos2d-x脚本生成好项目

1:在Eclipse中选择FileNewOther,然后选择C/C++Convert to a C/C++ Project (Adds C/C++ Nature)

Mac上利用Eclipse编译Cocos2d

点击Next在下一屏中勾选要转换的项目,Convert to C or C++栏目中选择C++ Project,Project type中选择Makefile project,

Mac上利用Eclipse编译Cocos2d

点击完成,这时Eclipse会询问你是否打开C/C++视图,选择NO。

接下来是修改项目设置,指定如何运行make命令。右击FirstCocos2dxGame工程,选择Properties,然后选择C/C++ Build

Mac上利用Eclipse编译Cocos2d

取消Use default build command复选框,然后在Build command:中输入下面的命令:

bash ${workspace_loc://项目文件夹}/build_native.sh NDK_DEBUG=1 V=1

点击Apply,然后Ok关闭。

在左边的项目树上,选中项目,然后ProjectBuild Project会看到控制台输出中看到C++ make在运行。

Mac上利用Eclipse编译Cocos2d

提示定义NDK_ROOT,查看proj.android下的文件build_navite.sh

Mac上利用Eclipse编译Cocos2d

没有定义NDK_ROOT时编译没有继续,加上最上面那一句定义NDK_ROOT,当然后面写自己机器的地址,保存退出后在Eclipse重新编译工程即可编译成功

Mac上利用Eclipse编译Cocos2d



在Eclipse中打开项目文件jni/hellocpp/main.cpp,会看到很多警告

Mac上利用Eclipse编译Cocos2d

出现这些警告,是因为我们没有配置正确的C++包含路径。右击FirstCocos2dxGame工程,然后选择PropertiesC/C++ GeneralPaths and SymbolsIncludesGNU C++。

选择Add…按钮来选择下面的目录,之后点击Apply和OK。

$(NDKROOT)/platforms/android-8/arch-arm/usr/include

$(COCOS2DX_HOME)/cocos2dx/include

注意: 要使用实际的路径来替换掉$(NDKROOT) 和$(COCOS2DX_HOME)。

Mac上利用Eclipse编译Cocos2d

点击Apply时会提示重建索引,点击Yes即可

但仍然有一些警告,如AppDelegate.h文件还是找不到。这是因为AppDelegate.h是在$PROJECT_HOME/Classes文件夹下面。这个文件夹包含了我们工程里面的可移植的C++类,比如AppDelegate.cpp、HelloWorldScene.cpp等。

Cocos2d-x是从Cocos2d-iphone发展而来,而Cocos2d-iphone是基于Obj-C的专门针对IOS编写的引擎,Cocos2d-x在生成项目时同时生成了针对IOS平台的代码目录Classes、资料目录Resources和Android平台的proj.android目录

当我们创建Eclipse项目的时候,我们必须选择$PROJECT_HOME/proj.android目录,因为Eclipse需要一个AndroidManifest.xml文件。但是,这样的话,我们的工程就不包括关键的“Classes”文件夹了,这也是为什么我们会得到这么多警告的原因。

要修复它们右击项目,选择PropertiesC/C++ GeneralPaths and SymbolsSource Location。点击Link Folder...,然后复选中Link to a folder in the file system,点Browse...指向$PROJECT_HOME/Classes目录,Folder name保留默认Classes,最后点Apply和Ok。

Mac上利用Eclipse编译Cocos2d


完成后项目还会有一些警告,如果还想关闭这些警告可以右击项目,选择PropertiesC/C++ GeneralCode AnalysisUse project settings对警告进行关闭

Mac上利用Eclipse编译Cocos2d

当然这也会影响一些必须的警告提示,所以可以依各人喜好进行选择。


Eclipse这边的工作已经搞好了,Xcode这边新建一个项目,然后把Classes里的代码全删除(Move to Trash),然后引用proj.android同级目录的Classes目录下的所有文件,仅仅是增加文件引用哦,如果拷贝的话那就是两份代码了,Xcode这边修改Eclipse这边编译运行,发现图片变形了,在Xcode里把Resource组下的图片也删除掉,引用proj.android同级目录的Resource目录下的所有图片,之后两边一致了。