位置: 编程技术 - 正文
推荐整理分享eclipse开发cocos2dx 3.2环境搭建之二: cocos2dx 3.2安装及测试运行 (An internal error occurred during: "C/C++ Indexe)(Eclipse开发工具安装),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:Eclipse开发工具安装,Eclipse开发步骤,Eclipse开发uniapp,Eclipse开发工具,Eclipse开发工具安装,Eclipse开发uniapp,Eclipse开发步骤,eclipse开发环境,内容如对您有帮助,希望把文章链接给更多的朋友!
文章摘自: 3.2.
之所以要写着俩篇博文,主要是因为很多书本包括网上大部分都是cocos2dx 2.x版本的,在环境配置等方面与3.2版本就很大的不同,如果按照2.x版本去配置会出现很多问题和麻烦。cocos2dx 3.2版本的环境配置网上也有一些,不过有些并不是很准确,另外3.2版本本身有一些问题,网上很多并没有提到。这俩篇博文是大量参照网上写到比较全面的博文,并结合自己的环境和问题总结的。
先强调一下,大家一定要先阅读一遍cocos2dx安装目录下的readme!!关于cocos2dx的安装和测试里面其实说的很详细了,这样就可以少走些弯路。
下面开始进入正题。再次强调ndk一定要使用r9d版本!需要准备如下:
1、ant 这个比较简单,官网上下载安装后配置环境变量即可。
2、python 建议使用2.7版本,据说高版本会有问题。
3、cocos2dx 3.2
第一步:
安装ant及python。
ant安装很简单,安装后配置环境变量即可,注意添加的是“ant目录bin”。python其实也一样,不过python在安装过程中可以注意一下,在其中一个界面最后一个选项就是环境变量,默认是不选的,选择后继续安装就不需要手动去配置了。
第二步:
安装cocos2dx 3.2。
官网上下载好后解压缩,命令行运行其下的setup.py。过程中分别需要配置androidsdk、ndk、ant的目录,其中ant是其根目录下的bin。配置有错误就会提示,需要重新来一遍,不过前面配置成功了就不会再提示配置了。
安装好后打开cmd输入cocos,如果显示帮助信息而非“cocos不是内部命令”这样的,那么就说明安装成功了。
这部分还有一个问题,我发现setup.py安装后会将androidsdk、ndk、ant自己配置到用户环境中,并且在用户环境path中添加了cocos2dx的bin目录。正常来说命令行下输入就可以正常显示,但是我电脑还是无法正常显示,具体原因不明,最后只好手动把cocos2dx的bin目录添加至系统变量的Path中。
第三步:
新建cocos2dx 3.2测试项目。
这部分与2.x版本有一些不同。
运行命令(使用cmd等) cocos new 项目名 -p 包名 -l 语言(只有cpp,lua,js可选) -d 工程目录
例如:cocos new mygame -p com.your_company.mygame -l cpp -d e:mygame 这个命令就是在e:mygame创建mygame 项目,项目的包名为com.your_company.mygame
等一会就可以看到生成的工程文件了,在总目录下有proj.android,这个就是android的项目文件(其实这个项目是在cocos2dx安装目录下的templatescpp-template-default下,只是拷贝过去并改了包名项目名等)。另外在总目录下还有俩个目录需要说一下,一个是cocos2d(对应cocos2dx安装目录下的cocos文件夹),其下的platformandroidjava需要以“source”的方式引用到项目中,不过项目本身已经引用了,但是会有个小问题,以后再说;另外一个是Resources,顾名思义里面是项目的资源文件,如果发现项目中缺少资源文件,可以将这个目录下的文件拷贝到项目的assets下。
第四步:
eclipse导入项目。
打开eclipse,在新建项目时选择“File->New->Other->Android/Android Project from Existing Code”,选择上步提到的proj.android将项目导入eclipse。
这时就会出现错误,这是3.2版本本身的一个小问题。
右键->Build Path->Config Build Path,在source下可以看到libcocos2d的路径是错误的,中间多了一个“2d”。这个就是我们上步提到过的,将其改回正确路径问题就会消失。
第五步:
编译运行项目。
第一章提到需要自己配置一个ndk的builder,这样就可以自动进行编译。cocos2dx的这个测试项目并不需要,打开它的builders就会发现里面已经有了一个“cdt builder”。Run As->Android Application,打包之前会自动进行编译,注意看日志实际上是运行了一条“python xxxx/CocoTest/proj.android/build_native.py -b release all ”命令,编译后会在libs下自动创建so文件,然后会自动打包安装。在手机上就可以看到cocos2dx的运行了!
cocos2dx终于成功搭建好了,途中因为网上的各种误导遇到了很多问题,花费了不少时间,所以自己想简单总结一下。其实最主要的文件就是NDK版本问题,ndk的版本一定要是r9d版本!低的版本会不支持c,我试过的包括r8、r9及网上别人试过的r9b都不行。另外网上也有人说r也不行,反正尽量使用r9d版本。否则会出现很多问题,下面要重点说一下因为版本导致出现的一些问题。
1、低版本ndk无法编译。
最开始使用的是低版本,运行之后程序直接崩溃,日志显示java.lang.IllegalArgumentException: Unable to find native library: libcocos2dcpp错误。其实就是没有编译,libs下没有产生so文件。
网上有很多人建议手动编译,就是在项目目录下运行build_native.py,其实根本不管用。因为项目运行时会自动编译,根本没必要手动编译。但是手动编译就会看到问题所在,提示Android NDK: Invalid APP_STL value: c_static,就是ndk版本低的原因。
关于这个其实网上有俩种解决方式,一种就是换成r9d版本的ndk;一种是修改Application.mk,不使用c_static。个人建议直接换新版本。
2、存在已导入的项目,低版本ndk升级
在ndk r9版本的环境下导入cocos2dx的测试项目无法编译,于是自己下载了r9d版本,替换了之后打开eclipse就报出问题了。
问题是An internal error occurred during: "C/C Indexer". java.lang.NullPointerExcption,然后发现elipse该项目下就看不到任何文件。网上一搜竟然没看到有这样的问题。净遇上这种奇葩事,关闭"C/C Indexer"也不行,试了好久都解决不了。
后来觉得可能是项目的问题,于是自己新建了一个项目,简单的实现ndk里的hellojni,运行正常!
那一定是cocos2dx的测试项目有问题,本身应该没问题,应该是用低版本的ndk导入并运行过,现在直接换高版本可能导致的。将测试项目删除,重新用cocos命令生成一个,再导入解决引用bug。没有任何问题了,编译运行,一切正常!
就像我多次强调,总之cocos2dx 3.2一定要使用ndk r9d版本!
cocos2dx3.2开发 RPG《Flighting》(一)基本介绍 前言:上次写了一个消灭星星,很多人都回复了我,并且提出了宝贵的意见,先感谢大家啦~上几个月我发现了一个很好玩的游戏——《BattleHeart》,心
cocos2dx3.3在Win7(位)上Android开发环境搭建(提要) 一、使用的工具Win位jdk1.8.0_(jdk-8u-windows-x.exe)adt-bundle-windows-x_-(adt-bundle-windows-x_-.zip)(可百度参考《androidndk环境配置adt-bund
cocos2dx3.2开发 RPG《Flighting》(二)骨骼动画介绍及游戏美术资源分享 一、前言关于骨骼动画,如果大家不知道是什么东东的话,可以先百度一下。如果大家有去玩过我介绍的《BattleHeart》的话,你会发现,里面用到的就是
标签: Eclipse开发工具安装
本文链接地址:https://www.jiuchutong.com/biancheng/372646.html 转载请保留说明!上一篇:Cocos2d-x下Lua调用自定义C++类和函数的最佳实践(cocoscreator lua)
下一篇:cocos2dx3.2开发 RPG《Flighting》(一)基本介绍(cocos2d用什么语言开发游戏)
友情链接: 武汉网站建设