Android.mk 编译生成二进制文件,其中存在多个头文件和多个cpp文件,还需要引用其他lib库的demo
时间: 2024-02-26 22:57:32 浏览: 71
好的,对于这个问题,我可以给你一些指导。
首先,在 Android.mk 文件中,你需要设置以下内容:
1. 定义你的源文件和头文件:
```
LOCAL_SRC_FILES := file1.cpp file2.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
```
这里 LOCAL_SRC_FILES 指定了你的源文件,LOCAL_C_INCLUDES 指定了你的头文件所在的目录。
2. 如果你需要链接其他库文件,可以使用 LOCAL_LDLIBS:
```
LOCAL_LDLIBS := -llog
```
这里我们以链接 log 库为例,-l 表示链接库,log 是库名。
3. 如果你的源文件需要引用其他库的头文件,可以使用 LOCAL_CFLAGS:
```
LOCAL_CFLAGS += -I/path/to/other/include
```
这里我们以引用其他库的头文件为例,-I 表示头文件所在目录。
接下来,你需要在 Android.mk 文件中定义你的模块:
```
include $(CLEAR_VARS)
LOCAL_MODULE := my_module
LOCAL_SRC_FILES := file1.cpp file2.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_LDLIBS := -llog
LOCAL_CFLAGS += -I/path/to/other/include
include $(BUILD_SHARED_LIBRARY)
```
这里我们定义了一个名为 my_module 的模块,并将上述内容包含在其中。
最后,你需要在 Android.mk 文件中引用你的模块:
```
include $(CLEAR_VARS)
LOCAL_MODULE := my_app
LOCAL_SRC_FILES := main.cpp
LOCAL_SHARED_LIBRARIES := my_module
include $(BUILD_SHARED_LIBRARY)
```
这里我们定义了一个名为 my_app 的模块,并将 my_module 加入其中。
这样做就可以生成你所需要的二进制文件,同时引用其他库文件和头文件了。
阅读全文