GCC выдает ошибку, когда я пытаюсь вызвать функции strlcpy
или strlcat
в C-файле:
error : implicit declaration of strlcpy
error : implicit declaration of strlcat
В какой библиотеке я могу найти эти функции и их справочную страницу? Я включил, string.h
но это ничего не меняет. Я использую Linux Mint 17.2 и gcc 4.8.4
man strlcpy
будет отображать их справочную страницу. Если у вас есть проблемы с вашим кодом, вам нужно опубликовать код , опубликовать командную строку компилятора и сделать это в переполнении стека, поскольку вопросы программирования здесь не по теме.strlcpy()
и подобное доступно в libc на большинстве вариантов UNIX. Linux - исключение, так как бывшему сопровождающему glibc они не нравились, хотя он не мог объяснить почему или указать на лучшую концепцию. Программное обеспечение, которое портирует на Linux, обычно реализует собственные версии этих функций.Ответы:
На Ubuntu, Mint и родственников,
strlcpy
иstrlcat
доступны вlibbsd-dev
пакете . ЗапуститьЭто установит библиотеки, заголовочные файлы и справочные страницы.
Чтобы использовать функции из кода C, добавьте строку
к вашим файлам и добавьте
-lbsd
, или, более переносимый$(pkg-config --libs libbsd)
, в вашуgcc
командную строку, чтобы связать библиотеку.источник