Я пытаюсь скомпилировать 32-битное приложение на 64-битном Debian Stretch.Таким образом, я успешно скомпилировал несколько других приложений, но одно приложение, использующее библиотеку pcap , доставляет мне проблемы.Кажется, нигде для моей платформы не существует 32-битной версии этой библиотеки.
Описание проблемы
Когда я пытаюсь связать свое приложение, вот так:
g++ (...objectfiles-and-options...) -m32 -o myapp -lpthread -lpcap
Я получаю ошибку
/usr/bin/ld: cannot find -lpcap
Я проверил, и в / usr / lib32 действительно нет libpcap.so (или его варианта).Тем не менее, все остальные библиотеки, которые я использую, присутствуют там (например, libpthread).Я попытался создать там софт-ссылки на 64-битные библиотеки pcap, на всякий случай, если они должны быть мультиплатформенными, но это привело только к «пропуску несовместимых /usr/lib32/libpcap.so при поиске -lpcap».".
Я установил libpcap-dev, libc6-dev-i386, gcc-multilib и g ++ - multilib (очевидно, поскольку кросс-компиляция работает нормально для всех приложений, которые не используют libpcap).Я подозреваю, что должен быть libpcap-dev-i386, который я мог бы установить, но, похоже, его нет.
Возможно, я должен упомянуть, что приложение успешно компилируется и связывается как 64-битное.
Кто-нибудь знает, что мне здесь не хватает?