Bradley_小靳 发表于 2019-6-17 11:27:37

CubeMX生成的工程,_sbrk()编译报错:undefined reference to 'end'

用STM32CubeMX生成的工程,直接打开编译后编译报错了。
   错误所在文件: syscall.c
   错误函数:_sbrk()
   编译报错:undefined reference to 'end'
关键在相应语句后面没有看到 end 字符。。。求大佬们帮忙瞅瞅

hua543 发表于 2019-6-17 11:31:07

同问

edmundlee 发表于 2019-6-17 16:16:34

是Keil吧?我也好象碰到过这问题, 后来找到的原因是Arm编译版本的问题, 在Keil改一下ARM编译器的版本试试

发表于 2019-6-17 16:55:58

.s没有加上,你手动把.s加到工程里面就可以了。

Bradley_小靳 发表于 2019-6-18 08:42:19

安 发表于 2019-6-17 16:55
.s没有加上,你手动把.s加到工程里面就可以了。

检查过了,.s文件在的。

发表于 2019-6-18 08:45:34

用的是什么IDE?最好把工程传一下。大家没法帮你去想着是什么问题。

Bradley_小靳 发表于 2019-6-18 09:08:48

edmundlee 发表于 2019-6-17 16:16
是Keil吧?我也好象碰到过这问题, 后来找到的原因是Arm编译版本的问题, 在Keil改一下ARM编译器的版本试试 ...

我现在用的是SW4

Bradley_小靳 发表于 2019-6-18 09:12:13

安 发表于 2019-6-18 08:45
用的是什么IDE?最好把工程传一下。大家没法帮你去想着是什么问题。

用的是SW4STM32,之前是没有问题的,添加了用STM32CubeMX添加了定时器功能之后就出现这个问题了,修改堆栈空间大小也没有用。原工程因为更换IDE被覆盖掉了。。。。

songshiqun2010 发表于 2019-6-18 09:17:03

Bradley_小靳 发表于 2019-6-18 09:12
用的是SW4STM32,之前是没有问题的,添加了用STM32CubeMX添加了定时器功能之后就出现这个问题了,修改堆 ...

删掉ioc以外的文件重新生成代码试试?

Bradley_小靳 发表于 2019-6-18 15:16:06

songshiqun2010 发表于 2019-6-18 09:17
删掉ioc以外的文件重新生成代码试试?

解决了,谢谢~
页: [1] 2
查看完整版本: CubeMX生成的工程,_sbrk()编译报错:undefined reference to 'end'