写android.mk的常见错误

本文介绍了在Android NDK开发中遇到的一些问题,如Android.mk文件的编写错误,包括忘记包含子目录的Android.mk、缺失OpenCV头文件路径、未链接必要的库等问题,以及如何解决这些问题。通过示例详细说明了如何正确配置LOCAL_C_INCLUDES、LOCAL_LDLIBS和LOCAL_STATIC_LIBRARIES,以避免编译错误。
摘要由CSDN通过智能技术生成

最近在研究如何在android上写c代码,对ndk有一些体会,列出一些困扰我多时的问题,以便以后注意

假设我将所有的.h .cpp文件都放入jni下一个叫algorithm的文件夹

(1)在jni下需要写两个文件:Android.mk和XXX.cpp

后一个可以通过类似于javah -jni com.jwj.Core(包名+类名)来生成,生成后是个.h文件,实现里面的函数,并将其改为诸如interface.cpp

前一个的内容诸如:

TOP_LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)

LOCAL_PATH := $(TOP_LOCAL_PATH)
include $(CLEAR_VARS)

LOCAL_MODULE := core
LOCAL_C_INCLUDES := /home/jwj/software/OpenCV_245/sdk/native/jni/include
LOCAL_SRC_FILES := interface.cpp
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -lz
LOCAL_STATIC_LIBRARIES = algorithm
include $(BUILD_SHARED_LIBRARY)

第二行容易漏,它是说要便利子目录下的Android.mk文件,不加的话,会报:

LOCAL_C_INCLUDES是指示opencv的目录在哪,所有Android.mk文件都要加,否则会报:

opencv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值