[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 工程代码


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 户口迁了身份证怎么办 户口迁移了医保怎么办 房屋卖了户口怎么办 驾照过期注销了怎么办 负全责不赔偿怎么办 青岛驾驶证过期了怎么办 驾驶证过了年检怎么办 驾驶证审证逾期怎么办 d驾驶证3年没捡怎么办 c1驾驶证3年没审怎么办 驾驶证换证外地怎么办 考驾驶证快到期怎么办 驾照到期人在国外怎么办 驾驶证3年没审怎么办c3 驾驶证几年没审怎么办 驾照体检过期了怎么办 b2驾照超过年检怎么办 驾驶证过审一年怎么办 驾照一年未年审怎么办 b驾照年审过期怎么办 摩托车驾驶证过期一年怎么办 驾驶证过期一年半怎么办 驾照过期了几天怎么办 驾照过期超过一年怎么办 考试驾照过期了怎么办 驾校考试过期了怎么办 驾驶证明过期了怎么办 驾驶证年过期了怎么办 驾照过期六个月怎么办 移动预约号码取消怎么办 身份证换地址驾驶证怎么办 刚来成都怎么办居住证 我在外地怎么办身份证 身份证丢在外地怎么办 换领新身份证时旧证丢了怎么办 二代身份证重号怎么办 北京行驶证到期怎么办 北京驾驶证即将过期怎么办 去澳门没有网络怎么办 三个周期未年检怎么办 深圳驾照丢了怎么办