当我在项目上运行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位)
帮助表示赞赏。
答案 0 :(得分:0)
想出来......错误的原因是我的主要Android.mk文件正在构建一个可执行文件而我的JNI代码没有任何main()函数。