即使包含“string.h”,仍隐式声明 strlcpy 和 strlcat

即使包含“string.h”,仍隐式声明 strlcpy 和 strlcat

当我尝试调用函数strlcpystrlcat在 C 文件中时,Gcc 抛出错误:

error : implicit declaration of strlcpy
error : implicit declaration of strlcat

我可以在哪个库中找到这些函数及其手册页?我包括string.h但它不会改变任何东西。我正在运行 Linux Mint 17.2 和 gcc 4.8.4

答案1

在 Ubuntu、Mint 和相关版本上,strlcpystrlcatlibbsd-dev包裹。跑步

sudo apt-get install libbsd-dev

这将安装库、头文件和手册页。

要使用 C 代码中的函数,请添加行

#include <bsd/string.h>

添加到您的文件,并将-lbsd或更可移植的添加$(pkg-config --libs libbsd)gcc命令行以链接库。

相关内容