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 这样宽泛的环境要 ...
随机推荐
- storyBoard中的Segue跳转
//———————————————--------------在不确定的Segue跳转----------------------------------- 多个按钮指向要跳转的视图 1.在一个恰 ...
- android开发之路11(用SharedPreferences存储数据)
Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...
- ArcGIS Server 10.2 实战(三)图层标注及图例中文显示乱码的解决
发布的图层中不可避免的使用到中文来标注,默认设置下,ArcGIS Server不支持中文的,中文标注显示成乱码,主要是编码的问题,需要把手动把编码改为UTF-8. ArcGIS Server 10.2 ...
- rpm命令使用说明
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...
- RestEasy传值方式
一.@pathparam @PathParam 是一个参数注解,可以将一个 URL 上的参数映射到方法的参数上,它可以映射到方法参数的类型有基本类型.字符串.或者任何有一个字符串作为构造方法参数 ...
- Java事件总线
在平时写代码的过程中,我们需要实现这样一种功能:当执行某个逻辑时,希望能够进行其他逻辑的处理.最粗暴的方法是直接依赖其他模块,调用该模块的相应函数或者方法.但是,这样做带来一些问题. 模块间相互依赖, ...
- poj 3264 RMQ
直接写个RMQ就能过. #include<iostream> #include<cstdio> #include<cstring> #include<algo ...
- 【转】ora-00031:session marked for kill(标记要终止的会话)解决方法
今天碰到一个问题,有一张表不能操作,很可能是被锁了,首先想到的是kill session,于是执行了下列的脚本找到是哪个session有问题: select object_name, machine, ...
- bootstrap的滚动监听
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...
- hiho拓扑排序专题 ——第四十八、四十七周
拓扑排序·一 分析: 此题就是求一个有向图中是否存在环. 如存在环则输出"Wrong", 若不存在环, 说明课程安排的合理,输出"Correct". 题中的提示 ...