这些天搭建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 编译环境的更多相关文章

  1. Windows下配置cygwin和ndk编译环境

    cygwin安装 正确的安装步骤其实很简单:1. 下载setup-86_64.exe 2. 直接从网上下载安装,选择包时,顶部选择“default”不变 3. 搜索make,勾选make,cmake, ...

  2. Cocos2d-x 2.2.3 使用NDK配置编译环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...

  3. NDK编译FFMpeg[Linux]

    最近在研究视频直播相关的技术,了解到了FFmpeg,就在网上查看如何将FFmpeg移植到Android中,查了几天,看的东西不少,就是没有一个可以完全移植成功的,最后通过产看各种资料,结合网上的资料, ...

  4. cygwin选择安装包选项搭建NDK开发环境/配置cygwin的root权限

    9.Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包.那四个单选按钮是选择下边树的样式,默认就行,不用动.View默认是Category,建议改成full显示全部包再查,省的一些包 ...

  5. 使用ndk编译c可执行程序

    1.创建工程目录  在ubuntu系统下搭建好ndk编译环境,创建test目录 mkdir test 在test目录下创建jni目录 cd test mkdir jni 2.编写源代码 vim hel ...

  6. 一个小玩具:NDK编译FFmpeg的例子

    FFmpeg NDK编译 和最简单的APK 准备 硬件: 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\ja ...

  7. 一个小玩具:NDK编译SDL的例子

    NDK编译SDL 准备: 硬件 一台电脑,实验在Lenovo T430上 一个Android设备,实验在 三星S3/A7 编译环境: Ubuntu 14.04 (ant\java等命令必须支持) 工具 ...

  8. android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序

    一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...

  9. 迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)

    Microsoft Visual Studio 2015社区版提供了强大的开发体验,且 Qt 提供了预编译版本.然而,由于客户提出兼容Windows XP ~ Windows 8.1 这样宽泛的环境要 ...

随机推荐

  1. Android 高级UI设计笔记09:Android如何实现无限滚动列表

    ListView和GridView已经成为原生的Android应用实现中两个最流行的设计模式.目前,这些模式被大量的开发者使用,主要是因为他们是简单而直接的实现,同时他们提供了一个良好,整洁的用户体验 ...

  2. Android 自学之列表视图ListView和ListActivity

    ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有两种方式: 直接使用ListView创建. 让Activity继承ListActivity ...

  3. javaweb学习总结十二(JAXP对XML文档进行SAX解析)

    一:JAXP使用SAX方式解析XML文件 1:dom解析与sax解析异同点 2:sax解析特点 二:代码案例 1:xml文件 <?xml version="1.0" enco ...

  4. [未完成]关于GUI Java图形化界

    "笔记内容完成,整体未完成" GUI 图形化用户界面 用java做图形化用户界面的程序不多,大多用C++和defy.因为,Java做图形化效率低. 首先你要安装一个虚拟机,C++是 ...

  5. Java反转单链表(code)

    主要是面试中可能会经常碰上该类似操作,尤其是稍大点公司,面试官可能并不在乎你能不能搞定该题,但是这类型题目最是能体现程序员的思维状态 ---一个迷糊头脑的程序员 怎能立志改变这个世界 /** * @a ...

  6. 【解决】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。

    换了SSD硬盘,装了Windows 7 SP1 x64的系统.用了一段时间,突然一天有些软件打不开了.弹出下面的提示 应用程序无法正常启动(0xc000007b).请单击“确定”关闭应用程序.第一时间 ...

  7. 核心概念 —— 契约(Contracts)

    1.简介 Laravel中的契约是指框架提供的一系列定义核心服务的接口. 例如 ,Illuminate\Contracts\Queue\Queue契约定义了队列任务需要实现的方法,Illuminate ...

  8. 转:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确 .

    近期在做淘宝客的项目,大家都知道,淘宝的商品详细描述字符长度很大,所以就导致了今天出现了一个问题 VS的报错是这样子的  ” 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确“ 还说某 ...

  9. sublime安装 less环境

    工具的选择: mac-codekit simpless->跨平台 winless-windows  less.js下载:http://pan.baidu.com/s/1o60yTZ0   安装L ...

  10. Java开发的一个简单截屏工具

    //源代码 import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.Transfe ...