Так как Я хочу, чтобы мои двоичные файлы запускались в старых дистрибутивах., я решил собрать статически связанный бинарник.
Мое приложение зависит от либхид-хидрау и через это на либудев.
У меня установлены пакеты разработки:
sudo apt установить libudev-dev libhidapi-dev
Когда я пытаюсь связать, я получаю эту ошибку:
cc -g -Wall -Wextra -static daemon/turboledzd.c -o daemon/turboledzd -lhidapi-hidraw -ludev
/usr/bin/ld: не удается найти -ludev
collect2: ошибка: ld вернул 1 статус выхода
В моей системе есть libhidapi-hidraw.a
присутствует файл:
$ dpkg -S hidraw.a
libhidapi-dev:amd64: /usr/lib/x86_64-linux-gnu/libhidapi-hidraw.a
Но нет такой статической библиотеки для udev:
$ dpkg -S либудев.
libudev1:i386: /usr/lib/i386-linux-gnu/libudev.so.1
libudev-dev:amd64: /usr/lib/x86_64-linux-gnu/pkgconfig/libudev.pc
python3-pyudev: /usr/lib/python3/dist-packages/pyudev/_ctypeslib/libudev.py
libudev1:amd64: /usr/lib/x86_64-linux-gnu/libudev.so.1.7.1
libudev-dev:amd64: /usr/lib/x86_64-linux-gnu/libudev.so
libudev1:amd64: /usr/lib/x86_64-linux-gnu/libudev.so.1
libudev-dev:amd64: /usr/include/libudev.h
libudev1:i386: /usr/lib/i386-linux-gnu/libudev.so.1.7.1
libudev-dev:amd64: /usr/share/man/man3/libudev.3.gz
Какой пакет Ubuntu будет содержать либудев.а
библиотека?