环境: window10_x64 & vs2022cJSON版本: 1.7.18 日常开发中,会遇到c/c++生成或解析json的情况,今天整理下windows10环境下使用VS2022编译及使用cJSON静态库的笔记,并提供相关资源下载。我将从以下几个方面展开:
- cJSON源码获取
- 静态库编译
- 使用示例
- 资源下载
一、源码获取
GitHub地址: https://github.com/DaveGamble/cJSON
下载地址:https://github.com/DaveGamble/cJSON/releaseshttps://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz
如果下载过慢或无法下载,可从文末提供的渠道获取。
二、编译静态库
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 获取。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |