该开源项目地址:
https://sourceforge.net/projects/cjson/
在编译的时候遇到了如下错误:
cJSON.h:58:24: error: expected ‘;’ at end of member declaration
void *(*malloc_fn)(size_t sz);
^
cJSON.h:58:33: error: expected ‘)’ before ‘sz’
void *(*malloc_fn)(size_t sz);
^
原因:此问题因为是缺少了size_t的定义,而size_t的定义在string.h头文件中。该问题可能是由编译器编办不同造成的
解决办法:在cJSON.h文件里#include<string.h>可解决
多说一句:尝试过将size_t修改为int,虽然不再报一开始那个错了,但是后面遇到了一些奇奇怪怪的错误。有时候,真正的错误可能跟显示的错误无关。