找回密码
 立即注册
首页 业界区 安全 cJSON静态库编译及vs2022使用示例

cJSON静态库编译及vs2022使用示例

邹语彤 昨天 18:28
环境: 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
2.png

 如果下载过慢或无法下载,可从文末提供的渠道获取。
二、编译静态库

1、编译32位库 

1)启动vs2022编译环境
3.png

 
2)进入cJson源码目录编译静态库源码目录: D:\src\cJSON\cJSON-1.7.18命令如下:
  1. cd D:\src\cJSON\cJSON-1.7.18
  2. cl /c /O2 /I. /DNDEBUG cJSON.c
  3. lib cJSON.obj /OUT:cJSON-x86.lib
复制代码
4.png

 
 
2、编译64位库

 1)启动vs2022编译环境
5.png

 2)进入cJson源码目录编译静态库
源码目录: D:\src\cJSON\cJSON-1.7.18命令如下:
  1. cd D:\src\cJSON\cJSON-1.7.18
  2. cl /c /O2 /I. /DNDEBUG cJSON.c
  3. lib cJSON.obj /OUT:cJSON-x64.lib
复制代码
6.png

 
三、使用示例

 这里以64位库为例子进行演示。 示例代码如下(cjsonTest1.cpp):
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "cJSON.h"
  4. int main()
  5. {
  6.     cJSON* var1 = cJSON_CreateObject();
  7.     char* str = NULL;
  8.    
  9.    
  10.     if (!var1)
  11.     {
  12.         printf("create json object fail!\n");
  13.         return -1;
  14.     }
  15.     cJSON_AddStringToObject(var1, "name", "Mike_Zhang");
  16.     cJSON_AddStringToObject(var1, "e-mail", "Mike_Zhang@live.com");
  17.     str = cJSON_Print(var1);
  18.     if (str)
  19.     {
  20.         printf("%s\n", str);
  21.         free(str);
  22.     }
  23.    
  24.     cJSON_Delete(var1);   
  25.     return 0;
  26. }
复制代码
1)添加include目录
7.png

 2)添加lib目录
8.png

 3)引用lib库

 编译及运行效果如下:
10.png

四、资源获取

本文涉及资源可从如下渠道获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 20250708 获取。
11.png
 
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册