[cocos2d-x 学习] 第一个cocos2d-x win32程序和NDK交叉编译
来源:互联网 发布:淘宝上有哪些靠谱代购 编辑:程序博客网 时间:2024/06/05 22:39
第一个cocos2d-x win32程序
打开cocos2d-x工程,(如何打开?上一篇有讲过了,点这里),选择项目解决方案右键->添加->新建项目->选择cocos2d-x win32Application, 填写项目名称确定出现如下:
有相关可选参数,box2d,support Lua(支持Lua脚本),Simple Audio Engine(支持音频播放,游戏声音播放),点finish,这里新建工程为HelloWorld。设置HelloWorld.win32(项目名称)为启动项目,run,出现结果如下证明第一个Win32 Application就没问题了,如果出现以下错误:
那么把整个解决方案 built 一次(需要点时间),然后重新run,基本就ok了,如果出现以下画面,就成功
NDK交叉编译
一、进入到原来的目录,双击create-android-project.bat,运行脚本文件,脚本需要你填写的信息有(需要之前配置好环境,点这里)
1、package path(java 工程的包名)
2、project name(工程名字)
3、android targets(对应的android版本,建议选择低版本,因为都是向下兼容)
-----> package path
------->project name
------->拉到最后面,填入版本号对应的id,如上面id:1对应 “android 2.1”版本
打开cocos2d-x更目录,可以发现一个HelloWorld目录如下:
classes文件是存放你要编译的头文件和cpp文件,proj.android 就是 android 工程,而Resource就存放你的资源文件,如声音文件和图片资源等
二、编译android project
打开cygwin,定位到刚刚HelloWorld目录中proj.android,运行 build_native.sh,shell命令,输入 “./build_native.sh”,或者直接把 build_native.sh 文件拖动到cygwin中回车,等待编译(需要点时间),出现如下信息后,就可以导入到eclipse了(默认安装的cygwin是没有make命令的,需要安装一下,或者在安装的时候勾选make命令)
Prebuilt : curl.a <= /cygdrive/d/AndroidIDE/cocos2d-2.0-x-2.0.3/HelloWorld/proj.android/../../cocos2dx/platform/third_party/android/prebuilt/libcurl/libs/armeabi/StaticLibrary : libextension.aSharedLibrary : libgame.soInstall : libgame.so => libs/armeabi/libgame.somake: 离开目录“/cygdrive/d/AndroidIDE/cocos2d-2.0-x-2.0.3/HelloWorld/proj.android”
二、导入到eclipse
在eclipse新建android project,选择create project from existing source,然后选择你之前创建好的HelloWorld工程中的 proj.andriod,编译出apk(可以直接run as android application)跑一下模拟器。说到这里应该会出现几个问题:
1、工程导入编译的时候eclipse会报错,Cocos2dxActivity,org.cocos2dx.lib.Cocos2dxActivity 也找不到
解决方法:复制 ***\cocos2dx\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中,这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,定位 (cocos2d-x根目录)\template\android\,用文本文件打开 copy_files.sh,找到 copy_src_and_jni() 函数,添加入下代码
cp -rf $COCOSJAVALIB_ROOT/src $APP_DIR/proj.android
搞定,以后都不用在麻烦,让程序自动帮我们处理 :)
2、搞定以上,启动模拟器却跑不起HelloWorld程序,出现的错误信息如下:
我换了几乎所有的版本SDK,都这样,应该是支持SDK对openGL支持的限制吧,换下真机调试就ok,文章完毕。
---> 下篇:初探 HelloWorld 工程代码
- [cocos2d-x 学习] 第一个cocos2d-x win32程序和NDK交叉编译
- [cocos2d-x 学习] 第一个cocos2d-x win32程序和Android NDK交叉编译
- cocos2d-x win32程序和NDK交叉编译
- cocos2d-x win32程序和NDK交叉编译
- cocos2d-x win32程序和NDK交叉编译
- 第一个cocos2d-x程序
- Cocos2d-x--编译第一个Android程序HelloCocos2dx
- cocos2d-x游戏开发系列教程-编译运行我们的第一个cocos2d-x游戏程序
- cocos2d-x(一) win32交叉编译android项目经验
- cocos2d-x(一) win32交叉编译android项目经验
- [cocos2d-x 学习] 如何编译自己的项目(从win32交叉编译到android)
- [Cocos2D-X]NDK环境配置+交叉编译Android项目
- 我的第一个Cocos2d-x程序
- 我的第一个Cocos2D-x 程序
- Cocos2d-x开发-第一个Cocos程序
- cocos2d-x交叉编译到安卓
- cocos2d-x 2.x交叉编译设置
- 初触cocos2d-x,win32平台搭建以及创建第一个cocos2d-x项目遇到问题总结
- 解决AIX报错0506-342 无法挂载分区问题
- 使用ConfigurationManager.GetSection()来实现类的方法
- NSURLRequest各种缓存方式讲解
- 将军(check the check)
- 如何解决AIX的文件系统故障
- [cocos2d-x 学习] 第一个cocos2d-x win32程序和NDK交叉编译
- Windows Phone 7 开发 31 日谈——第8日:选择器
- Linux C 经典题目总结
- 要想坐着无所事事,你必须坐在非常、非常高的位置
- Java线程_04
- hdu 4300 Clairewd’s message
- 面向对象(三)之多态
- uva 10564 Paths through the Hourglass
- mysql卸载后重装失败的解决方法