Mac上利用Eclipse编译Cocos2d-x的C++代码

转自:学PHP
http://www.xuephp.com/main/detail.php?cid=32787


要利用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)

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


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

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


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

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

点击Apply,然后Ok关闭。

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


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


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




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


出现这些警告,是因为我们没有配置正确的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)。


点击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。



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


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


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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值