gpt4 book ai didi

android - Android NDK : Compiling errors using libpcap for Android - functions “not declared in this scope”

转载 作者:行者123 更新时间:2023-12-02 10:48:54 27 4
gpt4 key购买 nike

我正在尝试将Jnetpcap(带有JNI的libpcap的Java包装器)移植到Android。我已经使用此存储库中的源代码设法将libpcap编译为静态库:https://github.com/android/platform_external_libpcap,并获得了libpcap.a

尝试将Jnetpcap编译为共享库(并与libpcap.a链接)时,出现错误,因为某些libpcap的函数“未在此范围内声明”。
这些函数是:pcap_create(),pcap_activate(),pcap_can_set_rfmon(),pcap_set_buffer_size(),pcap_set_promisc(),pcap_set_snaplen()和pcap_set_timeout()。

这些功能存在于libpcap的原始版本(libpcap-dev数据包提供的功能)中,但似乎android的版本没有这些功能。可以为intel x86和x64平台编译Jnetpcap的相同源文件,而不会出现问题。

难道我做错了什么?这些功能真的缺失了吗?

我希望你们中的任何人都知道如何解决此问题。谢谢。

最佳答案

不幸的是,libpcap的0.9.8版似乎不支持这些功能。 > = 1.0.0的版本包含它们。因此,现在您有2种可能性。通过将Android.mk修改为旧版本来编译新版本的libpcap,以稍微包含旧文件。或将jnetpcap降级到支持旧libpcap的版本。如果从2007年开始,请选择Libpcap 0.9.8,因此您也应该从今年左右选择jnetpcap。

关于android - Android NDK : Compiling errors using libpcap for Android - functions “not declared in this scope” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com