gpt4 book ai didi

c - 尽管包含 'strnlen',但未定义对 "string.h"的引用

转载 作者:太空狗 更新时间:2023-10-29 15:28:54 34 4
gpt4 key购买 nike

我正在尝试在 LPCXpresso 上为 LPC1769 创建一个项目。我有一个 C 文件调用

#include <string.h>
int main()
{
//some stuff
strnlen(SomeString, someInt);
}

我得到一个错误:

Undefined reference to 'strnlen'

奇怪的是strcpy、strncpy等常用字符串函数都没有问题。

我正在构建 Cortex-M3 处理器使用的编译器是:arm-none-eabi-gcc在 Eclipse 中,我勾选了 MCU 链接器选项:No startup or default libs我在 Ubuntu 上运行 Eclipse

虽然仅使用 strlen 绕过它可能很容易,但实际上我在使用使用 strnlen 的库时遇到了问题,我不想弄乱库源。

最佳答案

strnlen 函数(直到最近)是一个特定于 Linux 的函数(一些文档如 GNU libc manual 仍然说它是一个“GNU 扩展”)。当前manual page说它是 POSIX.1-2008 的一部分。由于你是交叉编译,有可能目标机的运行时库没有这个功能。 forum posting从 2011 年开始就是这样说的。

关于c - 尽管包含 'strnlen',但未定义对 "string.h"的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203551/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com