一.下载jsoncpp

   这里我们可以直接从github上clone一份最新的源码下来,如果不会用git命令,也可以直接下载zip。

git地址:https://github.com/open-source-parsers/jsoncpp.git

二.编译jsoncpp源码

下载好后,我们将压缩包解压到我们自定的路径中,然后打开解压好的文件夹,并创建一个build文件夹,用来存放我们cmake后的文件

进入build文件夹,右键选择在终端打开,输入如下命令:

cmake .. -G "Visual Studio 17 2022" -A x64

这里和自己的VS版本统一!博主用的是VS2022 14.3

编译完成后,build文件夹下就有如下文件

三.生成lib和dll文件

我们打开这个sln项目工程,使用vs2022去生成工程文件,这样就可以得到我们想要的lib库和dll库

这里有很多工程,我们只需要编译生成jsoncpp_lib这个项目即可。

右键项目,选择属性,选择C/C++ ,选择代码生成,保证Debug模式下运行库是MDD,Release模式下运行库是MD,不然移植到其他项目上可能会出问题

再点击重新生成

最大的坑:这里lib和dll文件的生成路径是不一样的!!!一定要看清楚生成路径分别在哪!

四.在项目中配置lib和dll

在找到生成的lib库后,我们新建一个空项目,这里以Debug x64为例,可以先写一个空main()函数生成一下,让其编译x64下的Debug文件夹

为了演示方便,我就直接将jsoncpp库所需的头文件和依赖一直到项目路径下了。

我们在生成的x64-Debug文件夹下新建一个libjson文件夹

再在libjson文件夹下新建一个include文件夹和lib文件夹

在include文件夹下存放我们从github上下载的josncpp源码下的include文件夹下的json文件夹,如下图,直接将整个json文件夹复制粘贴过去即可

完成后,再将我们生成的lib库和dll库复制粘贴到我们创建的lib文件夹下

这里再次强调,生成的lib和dll的文件输出路径不一样,千万不要找错了!!!

然后我们右键项目,选择属性,选择VC++目录,在包含目录这一栏,将我们新建的libjson文件夹下的include文件夹包含进来,如下图:

再选择库目录,将我们新建的lib文件夹包含进来,如下图:

最重要的一点,我们选择链接器,输入,附加依赖项,将我们的编译好的jsoncpp.lib加入进去,如下图:

五.测试是否配置成功

完成上述步骤,我们跑一个简单的测试用例看是否配置成功,代码如下:
 

#include <iostream>
#include <json/json.h>

int main() {
    // 1. 序列化:构建JSON并转为字符串
    Json::Value root;
    root["code"] = 200;
    root["msg"] = "JsonCpp is ALLReady";
    std::string json_str = root.toStyledString();

    // 2. 反序列化:解析字符串并提取值
    Json::Reader reader;
    Json::Value parsed;
    if (reader.parse(json_str, parsed)) {
        std::cout << "解析结果:" << std::endl;
        std::cout << "状态码: " << parsed["code"].asInt() << std::endl;
        std::cout << "消息: " << parsed["msg"].asString() << std::endl;
    }
    else {
        std::cerr << "JSON解析失败!" << std::endl;
        return 1;
    }

    return 0;
}

如果你输出如下结果,那么恭喜你,配置成功!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐