惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
G
Google Developers Blog
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
爱范儿
爱范儿
B
Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
博客园 - 叶小钗
aimingoo的专栏
aimingoo的专栏
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
博客园_首页
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence

博客园 - Mike_Zhang

使用python统计FreeSWITCH呼叫并发 从pcap文件提取sip信令文本 FreeSWITCH开启silk编码及转码 FreeSWITCH使用mod_fail2ban模块来提升安全 FreeSWITCH使用RNNoise进行实时通话降噪 使用RNNoise进行音频降噪 python3.14版本的free-threading功能体验 一种FreeSWITCH流量镜像WebSocket音频推流方案 C++使用WinHTTP访问http/https服务 openssl静态库编译及vs2022使用示例 FreeSWITCH日志功能分析及apr模拟 使用pjsip封装自定义软电话sdk pjsip编译、说明及vs2022使用示例 使用kamailio进行分机注册及互拨 apr库编译及队列使用笔记 debian10环境安装rtpengine FreeSWITCH对接http协议的tts服务 python3解析wav文件获取dtmf值 音频文件降噪及python示例 FreeSWITCH使用soundtouch进行变声
cJSON静态库编译及vs2022使用示例
Mike_Zhang · 2025-07-08 · via 博客园 - Mike_Zhang

环境: window10_x64 & vs2022

cJSON版本: 1.7.18

日常开发中,会遇到c/c++生成或解析json的情况,今天整理下windows10环境下使用VS2022编译及使用cJSON静态库的笔记,并提供相关资源下载。

我将从以下几个方面展开:

  • 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目录

四、资源获取

本文涉及资源可从如下渠道获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20250708 获取。