cJSON静态库编译及vs2022使用示例
环境: window10_x64 & vs2022
cJSON版本: 1.7.18
日常开发中,会遇到c/c++生成或解析json的情况,今天整理下windows10环境下使用VS2022编译及使用cJSON静态库的笔记,并提供相关资源下载。
我将从以下几个方面展开:
- cJSON源码获取
- 静态库编译
- 使用示例
- 资源下载
一、源码获取
GitHub地址: https://github.com/DaveGamble/cJSON
下载地址:
如果下载过慢或无法下载,可从文末提供的渠道获取。
二、编译静态库
1、编译32位库
1)启动vs2022编译环境
2)进入cJson源码目录编译静态库
源码目录: D:\src\cJSON\cJSON-1.7.18
命令如下:
cd D:\src\cJSON\cJSON-1.7.18 cl /c /O2 /I. /DNDEBUG cJSON.c lib cJSON.obj /OUT:cJSON-x86.lib
2、编译64位库
1)启动vs2022编译环境
2)进入cJson源码目录编译静态库
源码目录: D:\src\cJSON\cJSON-1.7.18
命令如下:
cd D:\src\cJSON\cJSON-1.7.18 cl /c /O2 /I. /DNDEBUG cJSON.c lib cJSON.obj /OUT:cJSON-x64.lib
三、使用示例
这里以64位库为例子进行演示。
示例代码如下(cjsonTest1.cpp):
#include <stdio.h> #include <stdlib.h> #include "cJSON.h" int main() { cJSON* var1 = cJSON_CreateObject(); char* str = NULL; if (!var1) { printf("create json object fail!\n"); return -1; } cJSON_AddStringToObject(var1, "name", "Mike_Zhang"); cJSON_AddStringToObject(var1, "e-mail", "Mike_Zhang@live.com"); str = cJSON_Print(var1); if (str) { printf("%s\n", str); free(str); } cJSON_Delete(var1); return 0; }
1)添加include目录
2)添加lib目录
3)引用lib库
编译及运行效果如下:
四、资源获取
本文涉及资源可从如下渠道获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 20250708 获取。