NDK-BUILD:make:***没有规则使用Libpcap制作目标错误

时间:2015-09-09 02:48:59

标签: c linux android-ndk libpcap

当我在项目上运行ndk-build时,出现以下错误:

> Android NDK: WARNING: APP_PLATFORM android-21 is larger than
> android:minSdkVersion 15 in ./AndroidManifest.xml     [arm64-v8a]
> Compile        : pcap <= pcap-linux.c jni/libpcap/pcap-linux.c:118:0:
> warning: "_GNU_SOURCE" redefined  #define _GNU_SOURCE  ^
> <command-line>:0:0: note: this is the location of the previous
> definition [arm64-v8a] Compile        : pcap <= pcap-usb-linux.c
> [arm64-v8a] Compile        : pcap <= pcap-can-linux.c make: *** No
> rule to make target `jni/libpcap/pcap-netfilter-linux-android.c',
> needed by
> `obj/local/arm64-v8a/objs/pcap/pcap-netfilter-linux-android.o'.  Stop.

这是我的libpcap

的Android.mk文件
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

libpcap_PSRC = pcap-linux.c pcap-usb-linux.c  pcap-can-linux.c pcap-netfilter-linux-android.c pcap-netfilter-linux.c
libpcap_FSRC = fad-gifc.c
libpcap_CSRC = pcap.c inet.c gencode.c optimize.c nametoaddr.c etherent.c savefile.c sf-pcap.c sf-pcap-ng.c pcap-common.c bpf_image.c bpf_dump.c
libpcap_GENSRC = scanner.c grammar.c bpf_filter.c version.c

libpcap_SRC = $(libpcap_PSRC) $(libpcap_FSRC) $(libpcap_CSRC) $(libpcap_GENSRC)

LOCAL_SRC_FILES:= $(libpcap_SRC)

LOCAL_CFLAGS:=-O2 -g -DHAVE_CONFIG_H -D_U_="__attribute__((unused))" -Dlinux -D__GLIBC__ -D_GNU_SOURCE

LOCAL_EXPORT_C_INCLUDE_DIRS:= $(LOCAL_PATH)

LOCAL_MODULE:= libpcap

include $(BUILD_STATIC_LIBRARY)

查看之前提出的其他一些问题,我已经从makefile中删除了任何不必要的空格,并且我确保尽可能地知道makefile中没有错误。

我不确定是什么导致了这个问题。我是NDK的新手,事实上这是一个非常基本的hello world应用程序,我正在构建更多关于NDK并将LIBPCAP合并到项目中。

我使用的是libpcap 1.5.2版,NDK版本:r10e-rc4(64位)

帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

想出来......错误的原因是我的主要Android.mk文件正在构建一个可执行文件而我的JNI代码没有任何main()函数。