C++项目引入依赖_例jsoncpp(MAC/CLion)

1、git clone jsoncpp到本地

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

2、编译生成 lib 文件

进入jsoncpp文件目录

# 进入 jsoncpp 目录,创建一个新的子目录来存放编译输出:
mkdir build && cd build
# 使用 CMake 来生成 Makefile:
cmake ..
# 编译 jsoncpp 库:
make
# 安装 jsoncpp 库:
sudo make install

执行上述步骤, jsoncpp 编译成了 lib。

接下来,在需要导入#include 语句在 C 或 C++ 代码中包含 jsoncpp 库,并使用 jsoncpp 提供的 API 来处理 JSON 数据。

3、导入lib文件至项目中

将 jsoncpp 项目中的 include 文件夹和 build/lib 中的 lib文件,复制粘贴至项目里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cmakelist.txt 文件中,导入头文件和lib文件,配置 include_directories() 和 target_link_libraries() 导入依赖。

cmake_minimum_required(VERSION 3.26)
project(Day5)

set(ROOT  ${CMAKE_CURRENT_SOURCE_DIR})
set(JSON_INCLUDE "${ROOT}/third-party/json/include")

set(CMAKE_CXX_STANDARD 17)

file(GLOB_RECURSE JSON_MODULE_LIB "${ROOT}/third-party/json/lib/libjsoncpp.25.dylib")

include_directories(
        ${JSON_INCLUDE}
)
add_executable(Day5 main.cpp)

target_link_libraries(Day5
    ${JSON_MODULE_LIB}
)

4、使用实例

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


static void str_split_test() {
    std::string redis_value = R"({"name": "lebron james", "age": 33, "height": 1.91, "weight": 92, "team": "lakers"})";
    Json::Value root;
    Json::Reader reader;
    if (!reader.parse(redis_value, root)) {
        std::cout << "parse error" << std::endl;
    }
    Json::Value value = root["name"];
    std::cout << value << std::endl;
}

int main() {
    str_split_test();
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/245993.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

试以单链表为存储结构实现简单选择排序的算法

简单选择排序&#xff0c;就是每趟把剩余元素最小或者最大的选出来排到前面 这道题值得推敲的是&#xff0c;p作为一个链表结点也是可以作为for循环的初始条件和判断条件的&#xff0c;至于查找到最小值之后&#xff0c;可以把两者的数值进行一个交换&#xff0c;就不用删结点…

SAP ABAP 面试题交流

1.列举AT事件并说明其作用&#xff0c;AT事件中的工作区有何不同&#xff1f; AT FIRST 循环loop中执行第一条数据 AT LAST 循环loop中执行最后一条数据 AT NEW 循环loop中指定字段&#xff08;包含指定字段&#xff09;记录与上一条记录不一致数据执行 AT END OF 循环loo…

计算机网络:物理层(奈氏准则和香农定理,含例题)

带你速通计算机网络期末 文章目录 一、码元和带宽 1、什么是码元 2、数字通信系统数据传输速率的两种表示方法 2.1、码元传输速率 2.2、信息传输速率 3、例题 3.1、例题1 3.2、例题2 4、带宽 二、奈氏准则&#xff08;奈奎斯特定理&#xff09; 1、奈氏准则简介 2、…

基于亚马逊云科技新功能:Amazon SageMaker Canvas无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 目录 &#x1f680;一. Amazon SageMaker &#x1f50e;1.1 新功能发布&#xff1a;A…

使用GAN进行异常检测

自从基于Stable Diffusion的生成模型大火以后&#xff0c;基于GAN的研究越来越少了&#xff0c;但是这并不能说明他就没有用了。异常检测是多个研究领域面临的重要问题&#xff0c;包括金融、医疗保健和网络安全。检测和正确分类未见的异常是一个具有挑战性的问题&#xff0c;多…

Electron 跨平台打包

最近利用 Electron 制作跨平台安装包&#xff0c;记录步骤&#xff0c;踩坑多多。 首先&#xff0c;一步步搭建项目 一、搭建环境 初始化 package.json&#xff0c;这里要求 node 版本不低于14.16&#xff0c;我用的 v14.16.0&#xff0c;16版本在 Linux 下容易出现安装依赖…

Java架构师系统架构高性能维度分析

目录 1 导语2 性能维度概述和定义3 高性能流程4 高性能实现方案-缓存为王5 高性能实现方案-异步为帅、分布式为将6 高性能高并发架构案例分析7 总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语 Java架构师在构建高性能系统架构时,需要关注以下几个关键维度:…

Spark环境搭建和使用方法

目录 一、安装Spark &#xff08;一&#xff09;基础环境 &#xff08;二&#xff09;安装Python3版本 &#xff08;三&#xff09;下载安装Spark &#xff08;四&#xff09;配置相关文件 二、在pyspark中运行代码 &#xff08;一&#xff09;pyspark命令 &#xff08…

软件测试前景怎么样?寒冬季?

怎么说呢&#xff1f; 正所谓说360行&#xff0c;行行出状元。 各个行业都有金字塔&#xff0c;站在金字塔的只有一部分的人。 所以我的答案是&#xff0c;有前景&#xff0c;但是要努力往测试开发方向走到塔尖。 我从三个方面来说吧。 一、测试、运维、开发&#xff0c;我…

世界第一个语言不通的人是如何沟通的?

引言&#xff1a;语言是人类交流的重要工具&#xff0c;但在人类历史的某个时刻&#xff0c;肯定会有这样一位勇敢的先驱&#xff0c;他成为了世界上第一个语言不通的人。那么在他面临交流难题时&#xff0c;他是如何与他人沟通的呢&#xff1f;本文将对此进行探索。主体&#…

开源IPad Pro应用IDE:使用SSH远程连接服务器进行云端编程开发

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

地理信息与遥感技术应用于草地资源监测实例

1.利用遥感监测草地现状实验 采用基于像元遥感影像分类与人机交互式解译相结合方法。 利用环境星/Landsat TM 等数据&#xff0c;基于像元遥感影像分类方法快速提取草地分布情况&#xff0c;获取草地面积信息。 为了提高精度&#xff0c;利用人机交互式解译方式对计算机自动分类…

计算机视觉技术在智慧城市建设中的应用

计算机视觉技术在智慧城市建设中的应用 随着城市化进程的不断推进&#xff0c;更多的人们选择在城市生活、工作和娱乐。面对快速增长的人口和日益复杂的城市环境&#xff0c;很多城市开始探索智慧城市的建设。智慧城市的核心就是将现代信息技术应用于城市管理中&#xff0c;以…

Django和ECharts异步请求示例

前提条件 创建django项目&#xff0c;安装配置过程这里就不讲述了。 后端url http://127.0.0.1:8000/echarts/demo/ view视图函数 from django.http import HttpResponse import jsondef EchartsDemo(request):data {}categories ["衬衫","羊毛衫",&…

数字逻辑 | 查漏补缺

与非RS触发器VS 或非RS触发器 卡诺图化简 格雷码 时序逻辑&#xff08;不懂啊&#xff01;&#xff01;&#xff09;

Linux-----3、物理机安装Linux

# 物理机安装Linux # 系统镜像获取 http://isoredirect.centos.org/centos/7/isos/ 例如&#xff1a; CentOS7.9.2009 arch (opens new window) 阿里云镜像 CentOS7.9.2009 x86 (opens new window) # 华为Atlas 500pro 表 2-1 系统版本及适配信息 名称内容操作系统型号CentO…

计算机毕业设计 基于SpringBoot的社区医院信息管理平台/系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

GAN的原理分析与实例

为了便于理解&#xff0c;可以先玩一玩这个网站&#xff1a;GAN Lab: Play with Generative Adversarial Networks in Your Browser! GAN的本质&#xff1a;枯叶蝶和鸟。生成器的目标&#xff1a;让枯叶蝶进化&#xff0c;变得像枯叶&#xff0c;不被鸟准确识别。判别器的目标&…

ShenYu网关Http服务探活解析

文章目录 网关端服务探活admin端服务探活 Shenyu HTTP服务探活是一种用于检测HTTP服务是否正常运行的机制。它通过建立Socket连接来判断服务是否可用。当服务不可用时&#xff0c;将服务从可用列表中移除。 网关端服务探活 以divide插件为例&#xff0c;看下divide插件是如何获…

谷歌宣布向云计算客户开放 Gemini Pro,开发者可用其构建应用

12 月 14 日消息&#xff0c;美国时间周三&#xff0c;谷歌宣布了一系列升级的人工智能&#xff08;AI&#xff09;功能&#xff0c;旨在为其云计算客户提供更好的服务。这家科技巨头正试图赶上竞争对手&#xff0c;比如微软和 OpenAI&#xff0c;它们都在积极利用人工智能的热…