/usr/bin/ld: 找不到 -lnetlink

/usr/bin/ld: cannot find -lnetlink

我正在尝试让我的同事在新 VM 上 运行 开发一个程序。机器上的实用程序很少(例如,我必须安装 make 和 gcc),我 运行 在 makefile 中执行以下 gcc 命令时出错:

gcc -g -ggdb -Wall -Wextra -o <output_name> <files> -lcrypto -lssl -lnetfilter_queue -lnetlink -lpthread

当我尝试使用 make 时,我收到以下消息:/usr/bin/ld: cannot find -lnetlink。我到处寻找解决方案,但没有任何效果。我不知道 lnetlink 是什么或它的作用,因为我没有编写这个程序的任何部分。我最初对 lcrypto、lssl 和 lnetfilter_queue 有同样的问题,但能够修复 lnetlink。此外,这个确切的 makefile 在安装了更多软件的旧 VM 运行 相同 OS (Debian) 上工作,所以我知道问题出在我的机器上,而不是 gcc 命令。

我很乐意回答任何其他问题。非常感谢所有建议。

-lnetlink 告诉 linker 使用 libnetlink.so(在 Linux 上)link 结果程序。 libnetlink.so 在 Debian 软件包中不可用,因此您应该在它来自的旧 WM 上搜索。