记录下,怕以后忘了
用cdt主要是使用代码提示,而且eclipse用起来也挺舒服的。编译的话没配置,不过cocos2dx生成项目的时候就给了一个脚本:build_native.sh,调用这个脚本即可执行编译,挺方便的。也即是说,可以自己写个脚本,完成编译部署。
1、按照文档生成项目后,用cdt建立一个新项目,import 生成的cpp进来(Classes文件夹下的即可)
2、右键项目,properties->C/C++ build->setting 设置cross G++ compiler的参数。主要是include,因为不涉及到编译,所以无需设置linker。点开includes,增加三个include路径,分别是:$cocos_root,$cocos_root/platform,$cocos_root/include,$cocos_root/CocosDenshion。注意,$cocos_root即是cocos2dx的目录。这四个路径是参考cocos2dx帮我们生成的项目里头的build_native.sh脚本的。仔细查看生成项目的jni/your_app/Android.mk,里头表示出了上述几个include路径。代码提示要靠他们:)
3、还是设置cross G++ compiler的参数,preprocessor选项里添加 defined symbols,因为我是android项目,所以加一个 ANDROID,这样就能开启android相关宏
做完这些的话,再看看刚刚import进来的那些文件,是不是红线少了一些?不过还有很多。所以,请继续。
4、折腾最久的一步。eclipse cdt要实现代码提示功能,必须先对所用到的文件索引,但是要是工程很大的话,难免会很卡,所以就做了一些限制,这些限制在properties->C/C++ general->Indexer里头设置。默认的skip掉很多,全开吧,再把skip larger than 从 8M 改成 10M。OK后再看看import的文件,是不是都识别出来了?好了,这样是不是没红线了?
5、因为我们是import进来的,也就是说,我们编辑的文件是被拷贝进eclipse的workspace的,我们做的修改不会影响原来的代码。为了方便点,所以可以写个脚本:
#dispatch.sh
file_in_cdt=/usr/kevin/worksapce/your_app
app_in_cocos2dx=/usr/kevin/cocos2dx/your_app
file_in_cocos2dx=$app_in_cocos2dx/Classes
if [-d $file_in_cocos2dx ]; then
rm -rf $file_in_cocos2dx
fi
mkdir $file_in_cocos2dx
cp -r $file_in_cdt/* $file_in_cocos2dx/
$app_in_cocos2dx/build_native.sh