Android.mk 编译libvlog 库,其中在include下包含多个hh头文件,src路径下包含多个cpp和cc文件,还需要引用多个lib库,请给出参考demo
时间: 2024-02-26 15:57:54 浏览: 98
好的,以下是一个简单的 Android.mk 文件,用于编译 libvlog 库,其中在 include 目录下包含多个 .hh 头文件,src 路径下包含多个 .cpp 和 .cc 文件,还需要引用多个 lib 库:
```makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vlog
LOCAL_SRC_FILES := src/file1.cpp \
src/file2.cpp \
src/file3.cc \
src/file4.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_LDLIBS := -llog -lz -ljpeg
LOCAL_STATIC_LIBRARIES := lib1 \
lib2
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := lib1
LOCAL_SRC_FILES := lib1.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include2
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := lib2
LOCAL_SRC_FILES := lib2.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include3
include $(BUILD_STATIC_LIBRARY)
```
其中,`LOCAL_PATH` 表示当前 Android.mk 文件所在的目录。
`include $(CLEAR_VARS)` 表示清除变量,以便重新设置 LOCAL_ 变量。
`LOCAL_MODULE` 表示模块名称,这里是 vlog、lib1、lib2。
`LOCAL_SRC_FILES` 表示源文件列表,这里包含了 src 目录下的所有 .cpp 和 .cc 文件。
`LOCAL_C_INCLUDES` 表示头文件目录列表,这里包含了 include 目录。
`LOCAL_LDLIBS` 表示需要链接的系统库,这里链接了 log、z、jpeg 库。
`LOCAL_STATIC_LIBRARIES` 表示需要链接的静态库列表,这里包含了 lib1、lib2。
`include $(BUILD_STATIC_LIBRARY)` 表示编译一个静态库。
希望这个 demo 能够帮到你。
阅读全文