电子说
刚开始学习RT-ThreadStudio,创建了一个新工程编译发现如下错误,网上检索居然也没有相关话题。只能自己分析了,看样子应该是rt的库函数,怎么也会出错呢?
C:RT-ThreadStudioworkspacestm32h743iit6Debug/../rt-thread/components/dfs/src/dfs.c:144: undefined reference to rt_realloc' C:RT-ThreadStudioworkspacestm32h743iit6Debug/../rt-thread/components/dfs/src/dfs.c:160: undefined reference to
rt_calloc'
./rt-thread/components/dfs/src/dfs.o: In function fd_put': C:RT-ThreadStudioworkspacestm32h743iit6Debug/../rt-thread/components/dfs/src/dfs.c:270: undefined reference to
rt_free'
使用源码查处工具发现这几个函数是在memheap.c文件中定义了,得到关键信息heap,
于是回到RT-ThreadStudio界面,找到它的内存配置模块发现是没有启用动态内存管理,如下:
更改为如下:
再编译就OK了。
也许这个问题比较简单别人都不屑于记录,但是我觉得分析解决的过程有点意思,于是记录于此分析给大家。
全部0条评论
快来发表一下你的评论吧 !