You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11 Pro下使用pnet编译Rust程序失败及运行异常求助

解决Rust pnet库在Windows 11下的链接错误及运行时Panic问题

你的程序在Windows下编译时找不到Packet.lib,是因为pnet的datalink模块默认依赖WinPcap的链接库,而该库未包含在Windows SDK中。以下是两种解决方式:

方式1:安装兼容的Npcap库

  • 下载Npcap安装包并安装,必须勾选"Install Npcap in WinPcap API-compatible Mode",安装程序会自动将Packet.lib和相关头文件部署到系统目录,pnet编译时就能自动找到该库。

方式2:手动指定库路径

如果安装Npcap后仍报错,可在项目根目录创建.cargo/config.toml文件,添加rustflags指定Npcap的库路径:

[target.x86_64-pc-windows-msvc]
rustflags = ["-L", "C:/Program Files/Npcap/Lib/x64"]

(32位系统请将路径改为C:/Program Files (x86)/Npcap/Lib/x86)


二、解决运行时Panic:"Unable to get interface list despite increasing buffer size"

添加rustcap后编译成功但触发该panic,核心原因是Windows下枚举网络接口需要管理员权限,具体解决步骤:

  1. 以管理员身份运行终端
    右键点击终端(PowerShell/Command Prompt),选择"以管理员身份运行",再执行cargo run,即可正常获取接口列表。

  2. 确认rustcap配置正确性
    确保Cargo.toml中rustcap启用了Windows相关特性:

    [dependencies]
    pnet = "0.34.0"
    rustcap = { version = "0.5.0", features = ["winapi"] }
    

内容的提问来源于stack exchange,提问作者user3515670

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:05:34