我正在尝试让我的同事开发并运行在新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在运行相同操作系统(Debian)的旧VM上工作,安装了更多软件,因此我知道问题出在我的机器上而不是gcc命令。
我很乐意回答任何其他问题。非常感谢所有建议。
答案 0 :(得分:0)
-lnetlink
告诉链接器将生成的程序与libnetlink.so
(在Linux上)链接。 Debian软件包中没有libnetlink.so
,所以你应该搜索它来自的旧版WM。