关于移植jSON编译时报错sbrkr.c:(.text+0xc): undefined reference to `_sbrk'处理

最近有个项目需要用到jSON函数,在移植了jSON后编译报错如下:sbrkr.c:(.text+0xc): undefined reference to `_sbrk'。

通过百度查询知道原来是GCC编译器不支持malloc、free、memcpy、strlen等函数导致的,正常在嵌入式系统开发过程中都会遇到这个问题。

正好这个项目是使用移远M26模块的OpenCPU开发的,好巧不巧的我就遇到了这个问题。网上解决的方法挺多,五花八门,我感觉不需要那么麻烦 ,源码又不长、简单粗暴一点(我比较喜欢的处理事情的方式之一)。既然是不支持导致的,那就想办法找一下替代函数好了,正好OpenCPU SDK提供的文件中有相关的实现函数。所以我就直接用相关函数替换进去,编译通过了,项目得以顺利进行。下面上传一下源码和移植好的代码。

cJSON源码(c语言版)

cJSON源码(Opencpu)

如有疑问,欢迎大家私信讨论。

 

你可能感兴趣的:(物联网)