Cocos2d-x第一个坑,NDK 编译环境
这些天搭建windows cocos2d-x的环境,基本上崩溃到死。目前好转。终于可以编译通过:
生成模板工程:在cmd下进入cocos2d-x的主目录,D:\Android\cocos2d-x-2.2.1\tools\project-creator 使用命令创建工程Demo,然后通过cygwin进入D:\Android\cocos2d-x-2.2.1\project,发现若干目录。进入proj.android,照规定调用./build_native.sh
坑1:未定义NDK_ROOT,去环境变量增加 D:\Android\ndk ,后编译通过。生成so文件。
坑2:把工程从cocos2d的目录拷贝了出去,于是出现各种编译问题:
make: 进入目录“/cygdrive/g/NextWork/demo2/proj.android”
jni/Android.mk:23: *** Android NDK: Aborting. 。 停止。
make: 进入目录“/cygdrive/g/NextWork/demo2/proj.android”
/cygdrive/d/Android/ndk/build/core/build-binary.mk:272: *** 目标模式不含有“%”。 停止。
解决问题方法:
1、修改build_native.sh文件,其中
# ... use paths relative to current directory
COCOS2DX_ROOT="/cygdrive/d/Android/cocos2d-x-2.2.1" //////此处要更换为你的cocos的目录,注意用/cygdrive/的方式。 我被D:/坑了很久
APP_ROOT="$DIR/.."
APP_ANDROID_ROOT="$DIR"
2、位于proj.android/jni中的android.mk文件
修改在$(call import-module,cocos2dx)前增加两行
$(call import-add-path, D:/Android/cocos2d-x-2.2.1)
$(call import-add-path,D:/Android/cocos2d-x-2.2.1/cocos2dx/platform/third_party/android/prebuilt)
3、如果先前通过cmd直接调用过ndk-build命令的话,可能工程下生成有obj文件夹,这个要清理掉,我被坑了几次。
然后进入cygwin,再次输入./build_native.sh
编译通过,注意检查该命令在开始执行时输出的信息是否正确
NDK_ROOT = D:\Android\ndk
COCOS2DX_ROOT = /cygdrive/d/Android/cocos2d-x-2.2.1
APP_ROOT = /cygdrive/g/NextWork/demo2/proj.android/..
APP_ANDROID_ROOT = /cygdrive/g/NextWork/demo2/proj.android
由于我在环境变量里设置的NDK_ROOT是win的路径,有一个警告,不过好像没什么问题。
cygwin warning:
MS-DOS style path detected: D:\Android\ndk/ndk-build
Preferred POSIX equivalent is: /cygdrive/d/Android/ndk/ndk-build
Cocos2d-x第一个坑,NDK 编译环境的更多相关文章
- Windows下配置cygwin和ndk编译环境
cygwin安装 正确的安装步骤其实很简单:1. 下载setup-86_64.exe 2. 直接从网上下载安装,选择包时,顶部选择“default”不变 3. 搜索make,勾选make,cmake, ...
- Cocos2d-x 2.2.3 使用NDK配置编译环境
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...
- NDK编译FFMpeg[Linux]
最近在研究视频直播相关的技术,了解到了FFmpeg,就在网上查看如何将FFmpeg移植到Android中,查了几天,看的东西不少,就是没有一个可以完全移植成功的,最后通过产看各种资料,结合网上的资料, ...
- cygwin选择安装包选项搭建NDK开发环境/配置cygwin的root权限
9.Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包.那四个单选按钮是选择下边树的样式,默认就行,不用动.View默认是Category,建议改成full显示全部包再查,省的一些包 ...
- 使用ndk编译c可执行程序
1.创建工程目录 在ubuntu系统下搭建好ndk编译环境,创建test目录 mkdir test 在test目录下创建jni目录 cd test mkdir jni 2.编写源代码 vim hel ...
- 一个小玩具:NDK编译FFmpeg的例子
FFmpeg NDK编译 和最简单的APK 准备 硬件: 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\ja ...
- 一个小玩具:NDK编译SDL的例子
NDK编译SDL 准备: 硬件 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具 ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
- 迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)
Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...
随机推荐
- Flask的部署
当前对部署flask的一些学习: 1.全局安装nginx 1.1 nginx的配置文件怎么写? $ sudo rm /etc/nginx/sites-enabled/default $ sudo to ...
- android的个人代码总结
1.关于一个动作的实现,在Activity中可以用实现一个接口的方式来实现,在实现代码时可用IF进行判断是那个要执行的动作: 2.在软件开发过程中,软件界面的布局也非常重要:还是要多看看:
- Objective-C ,ios,iphone开发基础:JSON解析(使用苹果官方提供的JSON库:NSJSONSerialization)
json和xml的普及个人觉得是为了简化阅读难度,以及减轻网络负荷,json和xml 数据格式在格式化以后都是一种树状结构,可以树藤摸瓜的得到你想要的任何果子. 而不格式化的时候json和xml 又是 ...
- SQL Server select into/bulkcopy用法
select into/bulkcopy用法 一.背景 如何提升批量插入效率,各位看官,瞧好了! exec sys.sp_dboption '数据库名','select into/bulkcopy', ...
- Android编程心得-ListView的Item高亮显示的办法
在我们使用ListView的时候,经常会遇到某一项(Item)需要高亮显示的情况,如下图,有人说当我们点击子项的时候会变亮,但有时候业务逻辑需要让ITEM根据条件自动变亮,下面我来介绍一下我自己的解决 ...
- [改善Java代码] 提倡异常的封装
JavaAPI提供的异常都是比较低级别的,低级别是指只有开发人员才能看懂的异常.而对于终端用户来说基本上就是天书,与业务无关,是纯计算机语言的描述. 异常封装的三方面的好处: 1)提高系统的友好性 ...
- Android自动化测试介绍
1.随机事件测试.通过adb命令执行测试Monkey 就是SDK中附带的一个工具, 用来做压力测试.应用程序crash 和 ANR时会产生日志. 然后根据关键字分析,就可以把应用出现的问题抓出来. 2 ...
- 关于微信response_type参数错误
可能出现问题的几个原因: 1.正确的2.0auth的地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=1%&redire ...
- 【Cocos2d入门教程八】浅析Cocoss2d下的音频引擎及封装音频类
Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库.具 ...
- Agile.Net 组件式开发平台 - 数据访问组件
Agile.DataAccess.dll 文件为系统平台数据访问支持库,基于FluentData扩展重写,提供高效的性能与风格简洁的API,支持多种主流数据库访问. 当前市面上的 ORM 框架,如 E ...