要利用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)
点击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目录下的所有图片,之后两边一致了。
