邹语彤 发表于 2025-7-8 18:28:01

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

环境: window10_x64 & vs2022cJSON版本: 1.7.18 日常开发中,会遇到c/c++生成或解析json的情况,今天整理下windows10环境下使用VS2022编译及使用cJSON静态库的笔记,并提供相关资源下载。我将从以下几个方面展开:

[*]cJSON源码获取
[*]静态库编译
[*]使用示例
[*]资源下载
一、源码获取

 GitHub地址: https://github.com/DaveGamble/cJSONhttps://img2024.cnblogs.com/blog/300959/202507/300959-20250708190748430-2130553835.png
 
下载地址: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库
https://img2024.cnblogs.com/blog/300959/202507/300959-20250708193709598-135758987.png
 编译及运行效果如下:

四、资源获取

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

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: cJSON静态库编译及vs2022使用示例