【发布时间】:2021-05-02 18:46:55
【问题描述】:
我正在使用 strlcpy 和 strlcat 代替 strncat/cpy;然而,每当我去编译它
GCC -o Project Project.c 它会不断地通过我的错误说:
Undefined reference to strlcpy; Undefined reference to 'strlcat'
我的代码:
#include <bsd/string.h>
strlcpy(path, ARTICLEPATH, sizeof(ARTICLEPATH));
strlcat(path, ARTICLEPATH, sizeof(path));
我已将库添加到我的文件中,但它似乎继续向我抛出错误:
#include <bsd/string.h>
我还有什么需要做的吗?还是有另一种使用空字节终止的 strncpy 替代方法?
编辑:作为背景,我在 ubuntu 20.04
【问题讨论】:
-
我怀疑该问题的
-lbsd答案是您想要的答案。 -
@NateEldredge 你的意思是在我编译程序时添加 -lbsd 吗?即:gcc -o -lbsd project project.c ?
-
@JamesUkilin:是的,但是在最后加上
-lbsd。gcc -o project project.c -lbsdstackoverflow.com/questions/45135/… 它当然不能跟在-o之后,否则你会将二进制文件写入一个名为./-lbsd的文件中。 -
@NateEldredge 非常感谢你的帮助!
标签: c