时间:2021-07-01 10:21:17 帮助过:13人阅读
要利用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目录下的所有图片,之后两边一致了。