From 0f860eb3eab44f5c09ec47d491a3da896ab7ee93 Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Tue, 1 Sep 2020 14:12:40 +0800 Subject: [PATCH] =?UTF-8?q?Android=20mk=20=E6=96=87=E4=BB=B6=E8=AF=B4?= =?UTF-8?q?=E6=98=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- .../Android/Build/Android_mk_文件说明.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Software/Development/OperatingSystem/Android/Build/Android_mk_文件说明.md diff --git a/Software/Development/OperatingSystem/Android/Build/Android_mk_文件说明.md b/Software/Development/OperatingSystem/Android/Build/Android_mk_文件说明.md new file mode 100644 index 0000000..ffd7363 --- /dev/null +++ b/Software/Development/OperatingSystem/Android/Build/Android_mk_文件说明.md @@ -0,0 +1,25 @@ +# Android mk 文件说明 + +## LOCAL_LDLIBS + +LOCAL_LDLIBS :链接的库不产生依赖关系,一般用于不需要重新编译的库,如库不存在,则会报错找不到。且貌似只能链接那些存在于系统目录下本模块需要连接的库。如果某一个库既有动态库又有静态库,那么在默认情况下是链接的动态库而非静态库。 + +如:LOCAL_LDLIBS += -lm –lz –lc -lcutils –lutils –llog + +如果你的 Android.mk 文件中只有这么一行,那么将会采用动态链接。 + +注:如果是非系统的第三方库,貌似只能用 LOCAL_LDFLAGS 方式,LOCAL_LDLIBS 方式不行。 + +## LOCAL_SHARED_LIBRARIES + +LOCAL_SHARED_LIBRARIES 会生成依赖关系,当库不存在时会去编译这个库。 + +## LOCAL_LDFLAGS + +LOCAL_LDFLAGS:这个编译变量传递给链接器一个一些额外的参数,比如想传递而外的库和库路径给 ld,或者传递给 ld linker 的一些链接参数,-On,-EL{B}(大小端字节序),那么就要加到这个上面,如: + +LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lHWrecog –EB{EL} –O{n} … + +或者直接加上绝对路径库的全名: + +LOCAL_LDFLAGS += $(LOCAL_PATH)/lib/libHWrecog.a –EB{EL} –O{n}