NDK 使用笔记

2012/9/14

mk 文件 

LOCAL_LDLIBS  := 
连接到NDK现有的静态库,比如使用了C库函数需要 -lc,在 user/lib 目录下



----- 几点小技巧 ----

NDK 使用技巧

1.如何强制输出编译命令:
-------------------------------------------
使用命令 "ndk-build V=1"

2.如何强制重新编译所有源文件:
-------------------------------------------
Use GNU Make's "-B" option, as in:

   ndk-build -B
  
3.如何将你的代码放在 $PROJECT/jni 以外的文件夹:
-------------------------------------------
第一, 你可以告诉 $PROJECT/jni/Android.mk 包含其他 Android.mk

第二, 定义 APP_BUILD_SCRIPT 在 Application.mk 文件
指向一个 Android.mk 文件位置.

4.不必使用 cd 命令进入工程根目录即可编译:
-------------------------------------------
使用命令  ndk-build -C <工程路径>

5.将你的 Application.mk 存放在 $PROJECT/jni 以外的地方:
---------------------------------------------------------
NDK r4以后支持使用命令
ndk-build NDK_APPLICATION_MK=/你/的/路/径/Application.mk

6.合理的添加头文件路径到你的模块声明
---------------------------------------------------------
当你定义了好几个模块时,编译某个模块经常需要包含另一个模块的头文件,如下面的例子:
 $PROJECT/jni/foo/
    Android.mk
    foo.h
    foo.c

  $PROJECT/jni/bar/
    Android.mk
    bar.c
 
 这bar.c包含了foo.h,你需要将foo的路径添加到 jni/bar/Android.mk
 
 下面有一种方法:
 LOCAL_C_INCLUDES := ../foo, 这样使得相对于当前路径
 
 正确的方法是:
 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo
 
 推荐使用 $(LOCAL_PATH) 的相对路径

你可能感兴趣的:(c,application,Build,Path)