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 这样宽泛的环境要 ...
随机推荐
- jquery 设置style:display 其实很方便的
("#id").css('display','none'); $("#id").css('display','block'); 或 $("#id&qu ...
- jsp自定义标签分页
第一步:建立分页实体page类 package com.soda.util; /** * @description 分页实体类 * @author line * @time 2016年8月28日11: ...
- SSO 登录功能的实现
一.引言 自己早晚都会碰到的问题. 当需要到分离多站点多应用的时候,都是希望用户只要在一个站点登录,其它所有的应用站点都是已登录的状态. 查了下新浪与淘宝的登录的资料,自己实现了一个并做下记录. 二. ...
- struts2.1笔记03:AOP编程和拦截器概念的简介
1.AOP编程 AOP编程,也叫面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容.利用A ...
- python(7)–类的多态实现
第一步: 先定义三个类: class Animal: def __init__(self, name): self.name = name #这个方法的意思是,如果继承该类,就得自己写talk方法,如 ...
- [改善Java代码]Java的泛型是类型擦除的
泛型可以减少强制类型的转换,可规范集合的元素类型,还可以提高代码的安全性和可读性,正是因为有了这些优点,自从Java引入泛型之后,项目的编码规则上便多了一条,优先使用泛型. Java泛型(Generi ...
- android开发推荐书籍列表
1. <第一行android代码> 入门,简单易懂,全面. 2. << Android群英传 >> 特点:UI部分相当详细 3. <<深入理解Andr ...
- hdu 1325 Is It A Tree?
Is It A Tree? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- Jersey(1.19.1) - Sub-resources
@Path may be used on classes and such classes are referred to as root resource classes. @Path may al ...
- 面试之SQL(2)--left join, inner join 和 right join的区别
表A记录如下: aID aName 1 a1 2 a2 3 a3 4 a4 5 a5 ...