Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全

前言

前段时间在在开发Cocos2d-x代码都是在sublime中开发,虽然也有高亮显示,但是整体开发起来很不爽,用记事本开发C、C++代码的效率低得离谱,也没法调试。最近在帮助QA搭建环境的过程中又找到了一些资料,因此记录一下。

搭建coco2d-x开发环境

Android NDK r7及以上版本已经集成了Cygwin编译环境,也就是说我们可以直接使用NDK编译Cocos2d-x项目。Eclipse集成NDK + Cygwin编译环境可以参考我的这篇博客:Cocos2d-x环境搭建


1、首先确认自己的ADT版本,NDK plugin的支持是在ADT 20及以后的版本。

2、安装Android Native Development Tools(该组件集成C/C++开发环境),既在安装ADT工具的时候勾选NDK组件,一路next后重启Eclipse使插件生效。

Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全_第1张图片

3、下载NDK工具http://developer.android.com/tools/sdk/ndk/index.html,我使用的是最新的android-ndk-r8e-windows-x86.zip,下载完后解到本地目录。

4、Eclipse -> Window -> Preferences -> Android -> NDK,设置NDK为刚刚解压缩的工具包路径。



5、NDK环境基本上已经搭建好,新建一个普通Android项目测试NDK支持。项目右键->Android Tools->Add Native Support...,如下图 : 


然后输入.so库名字后点击Finish。

(注意:若项目已经是一个Jni项目,例如NDK example里面的HelloJni,这一步中.so库名字不用填)

在系统环境变量添加NDK_ROOT、NDK_MODULE_PATH。

6、现在已经可以Build我们的项目了,选择项目,Project->Build Project,编译我们的c/c++代码,此时项目结构如下,NDK plugin已经为我们添加好了include,已经为我们生成了相应的Android.mk以及 cpp文件。

7、这时,Android NDK环境已经OK了,我们可以在cpp文件中流畅地书写我们的c/c++代码。


添加代码补全

首先你的cocos2d-x引擎根目录下的 cocos2dx、CocosDenshion 、extensions 、external以及cocos2d-x-2.2/cocos2dx/platform/platform/third_party/android/prebuilt中的所有文件夹复制到android-ndk-r8e目录下的sources中。

Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全_第2张图片

最后在项目里关联自己Class (关联之前先把默认生成 Class删除),步骤为右击项目->点Properties->点击C/C++  General --> Paths and Symbols --> Source Location,然后点击Link Folder,加入PARENT-1-PROJECT_LOC/Classes 。

Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全_第3张图片

最后应用修改即可。

这时再次右击项目->点Properties->点击C/C++  General->Code Analysis  把其中分析error的勾 全部去除就行了

Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全_第4张图片 

此时,我们打开Cocos2d-x游戏代码,可以看到在输入完“.”或者"->"后有代码提示了。
Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全_第5张图片


APP_PLATFORM错误问题

问题一:Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml    (这个是NDK工具的一个BUG,若build Target大于minSdkVersion,则会报这个错误,导致无法运行)
解决方法:
把android-ndk-r8e/build/core/add-application.mk第128行, 

$(call __ndk_warning,WARNING: APP_PLATFORM $(APP_PLATFORM) is larger than android:minSdkVersion $(APP_MIN_PLATFORM_LEVEL) in $(APP_MANIFEST))

把__ndk_warning改为__ndk_info;然后重新build一次项目即可消除错误。


你可能感兴趣的:(Eclipse中导入Cococs2d-x源码的Classes文件夹以及代码的自动补全)