winpcap获取设备列表遇到的问题

在Win10系统中使用Winpcap库获取设备列表时,遇到pcap_findalldevs_ex()函数未定义、类型兼容性错误以及#include <remote-ext.h>时的编译错误。解决方法包括引入<remote-ext.h>头文件、进行类型转换以及在包含pcap.h前定义HAVE_REMOTE。
部署运行你感兴趣的模型镜像

winpcap

winpcap获取设备列表

项目需要学习了一下winpcap,第一步就遇到了很多问题,解决办法记录在下面了。我的电脑是win10系统,安装win10pcap(winpcap不支持win10系统),安装完后如果使用winpcap的接口需要下载WpdPack,下载链接:https://www.winpcap.org/devel.html
wpdpcak下载下载好后解压,将winpack下面的include和lib目录包含进工程。就可使用winpcap接口了。

问题1:pcap_findalldevs_ex()函数未定义

pcap_findalldevs_ex()用于查找所有网络设备,代码已经包含头文件<pcap.h>,但是这个头文件中并没有这个函数的定义,我比较懒首先想到的解决办法肯定是上网搜,这个功能函数在winpcap中肯定是有定义的,不过不在pcap.h中。我比较幸运,片刻功夫就找到了,不然我的下一个解决办法将是包含所有winpcap的头文件。这篇博文:使用pcap_findalldevs_ex获取设备列表遇到的问题 有提到这个函数在<remote-ext.h>头文件中被定义。万分感谢博主。博主辛苦了。

问题2:E0167 PCAP_SRC_IF_STRING “const char *” 类型的实参与 “char *” 类型的形参不兼容

这个问题让我很难受,虽然加个强制类型转换就可以解决,但是我一直觉得强制类型转换很暴力并不是很喜欢用,希望有更好的解决办法。PCAP_SRC_IF_STRING是(const char *)类型,而pcap_findalldevs_ex()函数的第一个形参类型为(char *),我用的编译器为VS2017,这里不加强制类型转换编译不通过。希望我在学习winpcap的过程中可以找到让自己舒服的解决办法,当然这个错误可能换个编译器会是一个警告。

问题3:E0035 #error 指令: Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h wifiProbeProject d:\Source\WpdPack\Include\remote-ext.h 39

解决办法提示已经给出来了,即在包含pcap.h之前定义HAVE_REMOTE
暂时总结到这咯

您可能感兴趣的与本文相关的镜像

HunyuanVideo-Foley

HunyuanVideo-Foley

语音合成

HunyuanVideo-Foley是由腾讯混元2025年8月28日宣布开源端到端视频音效生成模型,用户只需输入视频和文字,就能为视频匹配电影级音效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值