硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2379|回复: 5
收起左侧

[其它] 求助一下硬汉大哥及各位,gcc-arm-none-eabi-编译器怎么使能printf函数呢?

[复制链接]

6

主题

45

回帖

63

积分

初级会员

积分
63
发表于 2022-3-10 21:05:23 | 显示全部楼层 |阅读模式
编译器版本为 gcc-arm-none-eabi-10.3-2021.10
采用命令行的方式链接程序时 总是提示
undefined reference to `puts'
undefined reference to `printf'

看起来像是链接时找不到符号,应该是添加相应的库然后链接,怎么才能知道改链接哪个库呢?从工具链文件夹内找了几个路径下的库都不好使。。
回复

使用道具 举报

80

主题

1328

回帖

1568

积分

至尊会员

积分
1568
发表于 2022-3-11 09:05:51 | 显示全部楼层
网上搜啊,可以搜到的,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2022-3-11 09:18:43 | 显示全部楼层
这得连接C库,比如newlib。
回复

使用道具 举报

85

主题

781

回帖

1036

积分

至尊会员

积分
1036
发表于 2022-3-11 12:06:11 | 显示全部楼层
实现__write函数,看一下硬汉的这个帖子的实现方法https://www.armbbs.cn/forum.php? ... 9542&fromuid=58
回复

使用道具 举报

218

主题

1101

回帖

1765

积分

至尊会员

More we do, more we can do.

积分
1765
发表于 2022-3-11 13:25:45 | 显示全部楼层
我现在用的newlib
回复

使用道具 举报

1

主题

10

回帖

13

积分

新手上路

积分
13
发表于 2023-6-12 16:45:55 | 显示全部楼层
实现__write函数
int _write(int file, char *ptr, int len)
{
  int i;

  for (i = 0; i < len; i++)
  {
    HAL_UART_Transmit(&huart1, (uint8_t *)ptr++, 1, HAL_MAX_DELAY);
  }

  return len;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-29 03:31 , Processed in 0.221331 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表