准备ndk环境
2015-09-15 12:11
281 查看
今天换台电脑,上面什么都没,只好又整理了一遍ndk的东西,记下来吧,免得下次又去找。
首先准备下环境,
eclipse和sdk装好后,去google网站下ndk,解压。设置PATH变量,将eclipse的window-》Preference-》Android-》NDK设置成正确路径。
然后测试环境,把ndk中的sample:hellojni导入eclipse,右键添加native support. that’s all。
下面来看下常用的Android.mk和Application.mk中的参数含义:
Android.mk中
LOCAL_CFLAGS :选一些编译器的标志,比如下面的说明我们要用到OPENGL了
LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER
LOCAL_LDFLAGS: 告诉链接哪些系统的动态库,比如下面就是要告诉系统要用到打log的函数
LOCAL_LDFLAGS += -llog
LOCAL_C_INCLUDES: 头文件所在的目录
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SRC_FILES: 要编译进去的源文件列表
LOCAL_SRC_FILES := aaa.c \
bbb/b.c
LOCAL_SHARED_LIBRARIES :要用到的动态库
LOCAL_SHARED_LIBRARIES := libcutils \
liblog
LOCAL_LDLIBS : 要用到的链接库,一般是系统自带的库
LOCAL_LDLIBS += -lpthread
(LDLIBS和LDFLAGS的区别在于后者可以加入我们自己的库,LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lMylib)
Application.mk中:
APP_ABI :为不同的平台构建so
APP_ABI := armeabi
APP_BUILD_SCRIPT: 据说是指定不同的Android.mk
APP_BUILD_SCRIPT := F:\aaa
然后剩下的就是正式的开发了。留待以后再说。
首先准备下环境,
eclipse和sdk装好后,去google网站下ndk,解压。设置PATH变量,将eclipse的window-》Preference-》Android-》NDK设置成正确路径。
然后测试环境,把ndk中的sample:hellojni导入eclipse,右键添加native support. that’s all。
下面来看下常用的Android.mk和Application.mk中的参数含义:
Android.mk中
LOCAL_CFLAGS :选一些编译器的标志,比如下面的说明我们要用到OPENGL了
LOCAL_CFLAGS += -DUSE_OPENGL_RENDERER
LOCAL_LDFLAGS: 告诉链接哪些系统的动态库,比如下面就是要告诉系统要用到打log的函数
LOCAL_LDFLAGS += -llog
LOCAL_C_INCLUDES: 头文件所在的目录
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SRC_FILES: 要编译进去的源文件列表
LOCAL_SRC_FILES := aaa.c \
bbb/b.c
LOCAL_SHARED_LIBRARIES :要用到的动态库
LOCAL_SHARED_LIBRARIES := libcutils \
liblog
LOCAL_LDLIBS : 要用到的链接库,一般是系统自带的库
LOCAL_LDLIBS += -lpthread
(LDLIBS和LDFLAGS的区别在于后者可以加入我们自己的库,LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lMylib)
Application.mk中:
APP_ABI :为不同的平台构建so
APP_ABI := armeabi
APP_BUILD_SCRIPT: 据说是指定不同的Android.mk
APP_BUILD_SCRIPT := F:\aaa
然后剩下的就是正式的开发了。留待以后再说。
相关文章推荐
- Rearrange a string so that all same characters become d distance away minDistance priority queue
- C#中TreeView实现适合两级节点的选中节点方法
- sql 经典命令行建立数据库 (增删改查)
- SOAP和RESTful 框架的 简介、对比和区别
- IOS“吐司”和 代理的设计模式
- UUID 压缩为22位
- 赋值运算符函数
- “TI门外汉”网路知识笔记五 三层交换技术
- 基于emoji 国际通用表情在web上的输入与显示的记录
- C++ 预定义显示文件和行数的调试技术
- Leetcode: Wildcard Matching
- 大整数相乘
- 【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
- mysql/Java服务端对emoji的支持
- emoji处理方式大起底
- 用原生JS产生随机长度和随机值的数组
- Magento-设置产品显示的条数和默认条数
- 网易笔试题 找朋友 真的是找朋友
- Servlet运行周期与运行原理
- linux系统安装nginx服务器