Я хочу скомпилировать свои программы на основе libpcap и winpcap, но я заметил, что другие пользователи также должны устанавливать WinPCAP среди моей программы. Как собрать все необходимые файлы в одну программу?
Краткий ответ: Вы не можете.
Длинный ответ исходит из какой-то старой мудрости в списке рассылки WinPcap:
Есть способ сделать packet.dll и wpcap.dll stati c: перестроить их как таковые. Вы просто жертвуете способностью делать что угодно, поскольку для всего, что в wpcap.dll, требуется packet.dll, а для всего, что в packet.dll, требуется драйвер ядра. И драйвер ядра не будет существовать без полной установки winpcap. Он включает (среди прочего) драйвер ядра, который не может быть преобразован в библиотеку stati c. Существует no way on Windows, чтобы сделать драйвер ядра частью статической библиотеки. (Или DLL, если на то пошло.) Если требуется драйвер ядра, трудно что-либо сделать без него.
Есть способ сделать packet.dll и wpcap.dll stati c: перестроить их как таковые. Вы просто жертвуете способностью делать что угодно, поскольку для всего, что в wpcap.dll, требуется packet.dll, а для всего, что в packet.dll, требуется драйвер ядра. И драйвер ядра не будет существовать без полной установки winpcap.
packet.dll
wpcap.dll
Он включает (среди прочего) драйвер ядра, который не может быть преобразован в библиотеку stati c.
Существует no way on Windows, чтобы сделать драйвер ядра частью статической библиотеки. (Или DLL, если на то пошло.) Если требуется драйвер ядра, трудно что-либо сделать без него.
DLL