本人在windows下用CodeBlocks编译本人的文件是可以正常运行的
但在linux下
gcc cJSON.c cJSON.h run.c -o run -lm
cJSON.h:58: 错误:expected ‘)’ before ‘sz’
cJSON.h:59: 错误:expected ‘;’ before ‘void’
报这个错,本人认为cJSON.h应该是没有问题。但不知道怎么样解决
typedef struct cJSON_Hooks {
void *(*malloc_fn)(size_t sz);
void (*free_fn)(void *ptr);
} cJSON_Hooks;
上面就是报错的那两句话
但在linux下
gcc cJSON.c cJSON.h run.c -o run -lm
cJSON.h:58: 错误:expected ‘)’ before ‘sz’
cJSON.h:59: 错误:expected ‘;’ before ‘void’
报这个错,本人认为cJSON.h应该是没有问题。但不知道怎么样解决
typedef struct cJSON_Hooks {
void *(*malloc_fn)(size_t sz);
void (*free_fn)(void *ptr);
} cJSON_Hooks;
上面就是报错的那两句话
解决方案
20
size_t未定义。
#ifdef __linux__
typedef unsigned int size_t
#endif
#ifdef __linux__
typedef unsigned int size_t
#endif