O Gcc lança um erro quando tento chamar as funções strlcpy
ou strlcat
em um arquivo C:
error : implicit declaration of strlcpy
error : implicit declaration of strlcat
Em qual biblioteca posso encontrar essas funções e sua página de manual? Eu incluí, string.h
mas isso não muda nada. Estou executando o Linux Mint 17.2 e o gcc 4.8.4
man strlcpy
exibirá sua página de manual. Se você estiver tendo problemas com o seu código, precisará postar o código , publicar a linha de comando do compilador e fazê-lo no Stack Overflow, pois as questões de programação não são abordadas aqui.strlcpy()
e similares estão disponíveis na libc na maioria das variantes do UNIX. O Linux é uma exceção, pois um ex-mantenedor da glibc não gostava deles, embora não fosse capaz de explicar o porquê ou apontar para um conceito melhor. O software que é portado para Linux geralmente implementa versões próprias dessas funções.Respostas:
No Ubuntu, Mint, e parentes,
strlcpy
estrlcat
estão disponíveis nolibbsd-dev
pacote . CorreIsso instalará as bibliotecas, os arquivos de cabeçalho e as páginas de manual.
Para usar as funções do código C, adicione a linha
aos seus arquivos e adicione
-lbsd
, ou o mais portátil$(pkg-config --libs libbsd)
, à suagcc
linha de comando para vincular a biblioteca.fonte