一、undefined reference

/tmp/cc7DP8ZD.o: In function `parse_number':
cJSON.c:(.text+0x48f): undefined reference to `pow'
/tmp/cc7DP8ZD.o: In function `print_number':
cJSON.c:(.text+0x5b4): undefined reference to `floor'

截图如下:
这里写图片描述

解决办法:在编译语句后加 -lm,原因是在Unix,一些数学计算并不属于Unix的标准库,就像线程一样,需要依赖额外的库

 gcc -o testClient testClient.c cJSON.c poolsocket.c socketlog.c socketutil.c -I ../inc/ -lpthread -lm

截图:
这里写图片描述

二、SZ and VOID

expected ‘)’ before ‘sz’
expected ‘;’ before ‘void’

这里写图片描述

解决办法:将cJSON.h和cJSON.c分别放在头文件和源文件下即可

gcc -o testClient testClient.c cJSON.c poolsocket.c socketlog.c socketutil.c -I ../inc/ -lpthread -lm

-I ../inc/下包含所有的依赖文件

GitHub 加速计划 / cj / cJSON
10.45 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:2 个月前 )
424ce4ce This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6. Related to #860 4 个月前
32497300 - 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐