我想编译基于libpcap和winpcap的程序,但是我注意到其他用户也必须在我的程序中安装WinPCAP。如何将所有必需的文件编译到一个程序中?
简短的回答:不能。
长答案来自WinPcap邮件列表中的一些旧wisdom:
[有一种方法可以使
packet.dll
和wpcap.dll
保持静态:将它们重建为这样。您只是牺牲了do的能力,因为所有wpcap.dll
中的内容需要packet.dll
,而packet.dll
中的所有内容需要内核驱动程序。没有内核驱动程序将不存在完整的winpcap安装。[除其他事项外,它包括无法转换为静态库的内核驱动程序。
Windows上有no way,使内核驱动程序成为静态的一部分图书馆。 (或者是
DLL
。)如果内核驱动程序是需要,那么没有它就很难完成任何事情。