查看: 4677|回复: 2

[已解决] 请教一个命令行下直接使用交叉工具链的编译问题(已解决)

[复制链接]

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
发表于 2014-3-2 14:03:42 | 显示全部楼层 |阅读模式
写了一个c的hello小应用来测试交叉工具链的编译效果
#include
int main()
{
int i;
i = 0;
printf("i=%d\n",i);
}
cw下的交叉工具链是CW MCU v10.5\Cross_Tools\arm-none-eabi-gcc-4_7_3\bin\arm-none-eabi-gcc.exe -o test test.c
编译失败了,厂商工具链是有什么限制吗?还是使用上有什么要求?
使用其他开源交叉工具链是没有问题的
失败信息
E:\K60\CW_for_MCU\tools\CW MCU v10.5\Cross_Tools\arm-none-eabi-gcc-4_7_3\bin>arm-none-eabi-gcc.exe -
o test test.c
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-exit.o): In function `exit':
exit.c.text.exit+0x2c): undefined reference to `_exit'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c.text._sbrk_r+0x18): undefined reference to `_sbrk'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-writer.o): In function `_write_r':
writer.c.text._write_r+0x20): undefined reference to `_write'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-closer.o): In function `_close_r':
closer.c.text._close_r+0x18): undefined reference to `_close'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c.text._fstat_r+0x1c): undefined reference to `_fstat'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c.text._isatty_r+0x18): undefined reference to `_isatty'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c.text._lseek_r+0x20): undefined reference to `_lseek'
e:/k60/cw_for_mcu/tools/cw mcu v10.5/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eab
i/4.7.3/../../../../arm-none-eabi/lib\libc.a(lib_a-readr.o): In function `_read_r':
readr.c.text._read_r+0x20): undefined reference to `_read'
collect2.exe: error: ld returned 1 exit status
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
 楼主| 发表于 2014-3-2 20:54:28 | 显示全部楼层

RE:请教一个命令行下直接使用交叉工具链的编译问题

请教fae,这个cw里的工具链不能单独编译程序文件吗?还是不支持标准c库
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

113

帖子

0

中级会员

Rank: 3Rank: 3

积分
326
最后登录
1970-1-1
发表于 2014-3-3 15:06:29 | 显示全部楼层

RE:请教一个命令行下直接使用交叉工具链的编译问题

对于嵌入式的系统来说,因为Printf()是与具体的硬件相关的。
所以,CW的编译工具中EWL的库中没有提供对Printf的支持。
建议楼主用IDE的编译方式,CW的IDE在新建工程是提供了一个Debuger console可以用来输出printf().
如果楼主坚持要用command的方式编译的话,建议参考cw自带的例子自己写printf()的相关代码。
例子在{cw}\MCU\CodeWarrior_Examples\Kinetis_Examples\
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 01:23 , Processed in 0.136986 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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