CentOS 7 源码安装libjsoncpp-1.9.5库
安装依赖工具
sudo yum install cmake make gcc
- cmake 需要升级至 3.8.0 以上可参考:CentOS安装CMake
- gcc 需要升级至9.0 以上可参考:CentOS 7升级gcc版本
下载源码
wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.tar.gz
tar -xzf 1.9.5.tar.gz
cd jsoncpp-1.9.5
编译并安装
mkdir build && cd build
cmake .. -DBUILD_SHARED_LIBS=ON # 生成共享库
make
sudo make install
注意,在cmake ..
后面加上了-DBUILD_SHARED_LIBS=ON
选项,会生成静态库和共享库。若不添加,则只会生成静态库。
配置环境变量
sudo vim /etc/profile
添加以下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib64
更新环境变量
source /etc/profile
验证安装
编写测试代码(test.cpp
):
#include <iostream>
#include <json/json.h>int main() {Json::Value root;root["name"] = "John";root["age"] = 30;std::cout << root.toStyledString() << std::endl;return 0;
}
编译并运行:
g++ test.cpp -o test -ljsoncpp
./test
输出应为格式化的JSON字符串:
{"age" : 30,"name" : "John"
}
常见问题
1. 找不到头文件:
- 确认安装路径,若从源码安装,使用
-I /usr/local/include
指定头文件路径。
2. 链接库失败:
- 添加
-L /usr/local/lib
指定库路径,并确保LD_LIBRARY_PATH
包含该路径。
3. 更新动态链接库
sudo ldconfig
4. 编译报错
[ 82%] Building CXX object src/test_lib_json/CMakeFiles/jsoncpp_test.dir/jsontest.cpp.o
In file included from /home/summergao/jsoncpp-1.9.5/src/test_lib_json/jsontest.cpp:7:0:
/home/summergao/jsoncpp-1.9.5/src/test_lib_json/jsontest.h: In member function ‘JsonTest::TestResult& JsonTest::TestResult::operator<<(const T&)’:
/home/summergao/jsoncpp-1.9.5/src/test_lib_json/jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss << std::setprecision(16) << std::hexfloat << value;^
make[2]: *** [src/test_lib_json/CMakeFiles/jsoncpp_test.dir/build.make:76: src/test_lib_json/CMakeFiles/jsoncpp_test.dir/jsontest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1031: src/test_lib_json/CMakeFiles/jsoncpp_test.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
问题原因
GCC版本太低导致
解决办法
切换GCC版本
scl enable devtoolset-9 bash
重新构建编译
cd build && rm -rf * cmake .. -DBUILD_SHARED_LIBS=ON
make
相关文章:
CentOS 7 源码安装libjsoncpp-1.9.5库
安装依赖工具 sudo yum install cmake make gcc cmake 需要升级至 3.8.0 以上可参考:CentOS安装CMakegcc 需要升级至9.0 以上可参考:CentOS 7升级gcc版本 下载源码 wget https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.…...
调用高德天气Api,并展示对应天气图标
1、申请高德key 点击高德官网申请 必须有key才能调用高德api 小提示:每日/每秒调用api次数有限,尽量不要循环调用。 每日大概5000,每秒3次 2、查看文档 高德官网天气api接口文档 请求示例: https://restapi.amap.com/v3/weat…...
DSP开发板的JTAG接口
(1)普中DSP28335 (2)研旭DSP28388 (3)延华DSP28335 (3)M新动力28377D电机控制板...
1.25-20GHz/500ns超快跳频!盛铂SWFA300国产捷变频频率综合器模块赋能雷达/5G/电子战高频精密控制 本振/频综模块
盛铂SWFA300捷变频频率综合器模块简述: 盛铂科技国产SWFA300捷变频频率综合器是一款在频率范围内任意两点频率的跳频时间在500nS以内的高速跳频源,其输出频率范围为1.25GHz至20GHz,频率的最小步进为10kHz。同时它拥有优秀的相位噪声特性&…...
nestjs 多环境配置
这里使用yaml进行多环境配置,需要安装nestjs/config、js-yaml、types/js-yaml js-yaml、types/js-yaml 主要用来读取yaml文件以及指定类型使用 官方教程:Documentation | NestJS - A progressive Node.js framework 1、下载 npm i --save nestjs/confi…...
CentOS7系统更新yum源教程
由于CentOS 7 在2024年6月30号以后官方不再维护。很多yum源也陆续关掉了,所以我们要更换镜像源。yum是一个用于软件包管理的工具,它能够从特定的存储库中自动下载和安装软件包。然而,系统默认的yum源可能不包含所有软件包,因此需要…...
Python正则表达式(二)
目录 六、re.findall()函数和分组 1、0/1分组情况 2、多分组情况 七、或“|”的用法 1、作用域 2、用法 八、贪婪模式和懒惰模式 1、量词的贪婪模式 2、量词的懒惰模式 九、匹配对象 1、相关函数 六、re.findall()函数和分组 1、0/1分组情况 在正则表达式中&#x…...
MySQL中如何进行SQL调优?
SQL 调优是提高 MySQL 数据库性能的关键环节。以下是 MySQL SQL 调优的主要方法和技巧 一、使用 EXPLAIN 分析查询 EXPLAIN SELECT * FROM users WHERE user_name 张三;查看执行计划,了解 MySQL 如何处理查询重点关注 type、key、rows、Extra 列type 最好能达到 …...
Android15查看函数调用关系
Android15 Camera3中打印函数调用栈 1.使用CallStack跟踪函数调用 修改涉及三个内容: Android.bp中添加对CallStack的引用。CallStack被打包在libutilscallstack.so。代码中包含CallStack的头文件。代码中调用CallStack接口,打印函数调用栈。 例子&am…...
Containerd+Kubernetes搭建k8s集群
虚拟机环境设置,如果不是虚拟机可以忽略不看 1、安装配置containerd 1.1 添加 Kubernetes 官方仓库 安装cri-tools的时候需要用到 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kub…...
【Spring AI】基于专属知识库的RAG智能问答小程序开发——功能优化:用户鉴权主体功能开发
系列文章目录 【Spring AI】基于专属知识库的RAG智能问答小程序开发——完整项目(含完整前端后端代码)【Spring AI】基于专属知识库的RAG智能问答小程序开发——代码逐行精讲:核心ChatClient对象相关构造函数【Spring AI】基于专属知识库的R…...
个人学习编程(3-24) 数据结构
括号的匹配: if((s[i]) && now() || (s[i]] && now[)){ #include <bits/stdc.h>using namespace std;int main() {char s[300];scanf("%s",&s);int i;int len strlen(s);stack <char> st;for (i 0; i < len; i){if(…...
比特币等虚拟货币实时价格使用说明,数字货币价格获取,k线获取,实时价格获取
数据截图 k线数据 websocket 实时价格数据 根据这些数据可以做出自己的产品 获取时间段内的k线数据 在开始之前,你需要知道的知识: 币种缩写英文名币种IDBTCBitcoinbitcoinETHEthereumethereumEOSEOSeosUSDTTethertetherLTCLitecoinlitecoinUSDDol…...
【漏洞修复】为了修复ARM64 Android10系统的第三方库漏洞,将ARM64 Android16的系统库直接拷贝到Android10系统如何?
直接替换系统库的风险分析 将高版本Android(如Android 16)的系统库直接拷贝到低版本系统(如Android 10)可能会导致以下问题: 符号与依赖不兼容 高版本库可能依赖更高版本的NDK或Bionic libc(Android的C库&…...
【深度学习与实战】2.1、线性回归模型与梯度下降法先导
import numpy as np# 数据准备 X np.array([1, 2, 3]) y np.array([3, 5, 7])# 参数初始化 w0, w1 0, 0 alpha 0.1 n len(X)# 迭代10次 for epoch in range(10):# 计算预测值y_pred w1 * X w0# 计算梯度grad_w0 (1/n) * np.sum(y_pred - y)grad_w1 (1/n) * np.sum((y_…...
SQL Server 2008安装教程
目录 一.安装SQL Server 二.安装SQL Server Management Studio 三.使用SQL Server Management Studio 一.安装SQL Server 官网下载:SQL Server 下载 | Microsoft 1.选择安装中的全新安装如下图 2.功能选择 3.实例配置 4.后面一直下一步到数据库引擎配置 密码自己设置 系统…...
协作机械臂需要加安全墙吗? 安全墙 光栅 干涉区
安全墙是什么 文章目录 安全墙是什么简介1. 物理安全墙1.1 定义:1.2 作用机制:1.3 应用场景: 2. 虚拟安全墙2.2 定义:2.3 作用机制:2.3 应用场景: 3. 安全毛毯3.1 工作原理:3.2 特点3.3 应用场景…...
Android第六次面试总结(自定义 View与事件分发)
在 Android 中实现自定义 View 处理 1 万条数据的流畅滑动,需结合视图复用、按需绘制、硬件加速等核心技术。以下是具体实现方案: 一、核心优化策略 1. 视图复用机制(类似 RecyclerView) ViewHolder 模式:将每个数据…...
深度解读 AWS IAM:身份访问管理与安全的核心纽带
导语 在 AWS(亚马逊云服务)的生态体系中,AWS IAM(Identity and Access Management)犹如坚固的堡垒,守护着用户在云端的各类资源。它不仅是管理用户身份与访问权限的关键工具,更是维系 AWS 安全…...
Oracle相关的面试题
以下是150道Oracle相关的面试题,涵盖了Oracle的基础概念、架构、SQL与PL/SQL、性能调优、高可用性、备份与恢复、安全、分区与索引、存储与内存管理、网络与连接、版本与升级等方面,希望对你有所帮助。 Oracle基础概念 1. 什么是Oracle数据库࿱…...
DQL语句-distinct去重
MySQL | DQL语句-distinct去重 🪄个人博客:https://vite.xingji.fun 查询工作岗位 select job from emp;mysql> select job from emp;----------- | job | ----------- | CLERK | | SALESMAN | | SALESMAN | | MANAGER | | SALESMAN …...
GroupDocs.Total for Java 摸索学习
继Aspose.Total for Java 全套组件的学习之后,发现了GroupDocs.Total系列产品的13款,也是花了许久的事件,逐个的学习摸索、深度分析、总结实践,掌握了它们的科学使用。 商业技术软件,作为技术广度学习探索使用&#x…...
⑦(ACG-网络配置)
网络配置是指对计算机网络的各种参数进行设置和调整,以实现网络正常运行和高效通信。网络配置包括多方面的内容,常见的配置包括: 1. IP地址设置:IP地址是设备在网络中的身份标识,设置IP地址是网络配置的基础ÿ…...
智能汽车图像及视频处理方案,支持视频智能包装能力
美摄科技的智能汽车图像及视频处理方案,通过深度学习算法与先进的色彩管理技术,能够自动调整图像中的亮度、对比度、饱和度等关键参数,确保在各种光线条件下,图像都能呈现出最接近人眼的自然色彩与细节层次。这不仅提升了驾驶者的…...
【电子通识】铅笔硬度简史:从石墨到工业标准
在工作中我们会发现有时要使用铅笔硬度计来测试材料的硬度。 比如说手机的液晶屏,我们可能要求要通过3H、4H等等。那么为什么会用铅笔来做硬度测试呢?这就要知道相关的历史了。 铅笔硬度简史:从石墨到工业标准 “一支铅笔,如何成…...
前端自动化测试(一):揭秘自动化测试秘诀
目录 [TOC](目录)前言自动化测试 VS 手动测试测试分类何为单元测试单元测试的优缺点优点缺点 测试案例测试代码 测试函数的封装实现 expect 方法实现 test 函数结语 正文开始 , 如果觉得文章对您有帮助,请帮我三连订阅,谢谢💖&…...
《Python实战进阶》No37: 强化学习入门:Q-Learning 与 DQN-加餐版1 Q-Learning算法可视化
在《Python实战进阶》No37: 强化学习入门:Q-Learning 与 DQN 这篇文章中,我们介绍了Q-Learning算法走出迷宫的代码实践,本文加餐,把Q-Learning算法通过代码可视化呈现。我尝试了使用Matplotlib实现,但局限于Matplotli…...
将ZABBIX结合AI实现自动化运维
1. 执行摘要 评估将ZABBIX监控系统与人工智能(AI)相结合,以实现自动化IT运维的可行性。这种集成具有显著的潜力,能够提升IT运维的效率、可靠性和主动性。通过利用ZABBIX强大的监控和告警功能,以及AI在异常检测、根因分…...
Go 语言规范学习(2)
文章目录 VariablesTypesBoolean typesNumeric typesString typesArray typesSlice typesStruct typesPointer typesFunction typesInterface typesBasic interfacesEmbedded interfacesGeneral interfaces【泛型接口】Implementing an interface【实现一个接口】 Map typesCha…...
XCode中使用MonkeyDev开发iOS版的Comand-line Tool的daemon程序
前提条件:iphone手机越狱ios15,cydia/Sileo中安装好ssh,ldid等相关的常用插件 备注:如何iphone是ios15以下的越狱机,可直接看11步 1. 安装MonkeyDev sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercon…...
Nodejs上传文件的问题
操作系统:window和linux都会遇到 软件环境:v20.10.0的Nodejs 1、前端代码如下: 2、后端Nodejs 2.1、注册接口 2.2、上传接口 其中memoryUpload方法代码如下: 3、用页面上传文件 查看具体报错原因: TypeError: sourc…...
SpringMVC 拦截器详解与实战
在 SpringMVC 框架中,拦截器(Interceptor)是一种强大的机制,它允许开发者在控制器方法执行前后进行拦截,从而实现诸如用户权限验证、日志记录、性能监控等各种功能。本文将深入探讨 SpringMVC 拦截器的相关知识&#x…...
5.3 MVVM模型
一、MVVM的基本概念 MVVM的基本概念:Model、View、ViewModel 组件职责示例内容Model封装业务数据User类,包含姓名、年龄属性View负责UI呈现XAML界面,包含数据绑定ViewModel连接View和Model,处理视图逻辑MainViewModel包含命令和…...
6、进程理论和简单进程创建
一、了解进程推荐看这个视频,很详细 1、概念 进程(Process)程序的运行过程,是系统进行资源分配和调度的独立单元程序的运行过程:多个不同程序 并发,同一个程序同时执行多个任务。 就需要很多资源来实现这个过程。 每个进程都有一…...
python面试-基础
Python 面试题:解释 filter 函数的工作原理 难度: ⭐⭐ 特点: filter 函数是 Python 内置的高阶函数,用于过滤序列中的元素。这道题考察面试者对函数式编程概念的理解以及对 filter 函数的实际应用能力。和 map 函数类似, Python 3 中的 filter 返回一…...
全分辨率免ROOT懒人精灵-自动化编程思维-设计思路-实战训练
全分辨率免ROOT懒人精灵-自动化编程思维-设计思路-实战训练 1.2025新版懒人精灵-实战红果搜索关键词刷视频:https://www.bilibili.com/video/BV1eK9kY7EWV 2.懒人精灵-全分辨率节点识别(红果看广告领金币小实战):https://www.bili…...
前后端常见模型以及相关环境配置介绍
一、前端常见框架 Vue.js 特点:采用数据驱动的响应式编程,组件化的开发模式使得代码结构清晰,易于维护,且学习成本相对较低,适合初学者和快速迭代的项目。应用场景:广泛应用于各类 Web 应用开发ÿ…...
西电考研目前缺额专业,调剂助力上岸!
注意啦!准备调剂的兄弟们看过来:今天带大家梳理【西电调剂】的相关内容。助力大家上岸西安电子科技大学研究生 调剂必须在短时间内迅速做出决策,收集信息、筛选院校、准备复试,每一个环节都容不得丝毫懈怠!现在除了关注…...
英语四六级听力考试网络广播系统建设方案:助力大学英语四六级听力考试清晰度与可靠性升级
英语四六级听力考试网络广播系统建设方案:助力大学英语四六级听力考试清晰度与可靠性升级 北京海特伟业科技有限公司任洪卓发布于2025年3月26日 一、建设背景:听力考试的重要性与现有系统的痛点 英语四六级考试听力部分作为学生英语听力能力的直接检验…...
性能比拼: Rust vs C++
本内容是对知名性能评测博主 Anton Putra 1个月前 Rust vs C Performance 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 介绍 在本视频中,将对比 Rust 和 C。 会使用 Axum 框架的一个稍微改进的版本,该框架基于 Hyper 和 Tokio 运行时&am…...
b站视频提取mp4方案
引言 对于b站视频,有些视频是不能提取字幕的,所以我们想把对应的视频下载下来,然后进行对应的本地处理,获得所需的自由处理,吞食视频。 整体思路 下载b站客户端 ----> 把缓存路径修改------> 下载所需视频---…...
PyQt6实例_批量下载pdf工具_exe使用方法
目录 前置: 工具使用方法: step one 获取工具 step two 安装 step three 使用 step four 卸载 链接 前置: 1 批量下载pdf工具是基于博文 python_巨潮年报pdf下载-CSDN博客 ,将这个需求创建成界面应用,达到可…...
【java笔记】泛型、包装类、自动装箱拆箱与缓存机制
一、泛型:类型安全的基石 1. 泛型的本质与原理 Java 泛型(Generics)是 JDK 5 引入的特性,通过类型参数化实现代码的通用性。泛型类、接口和方法允许在定义时声明类型参数(如 T、E、K、V),这些…...
计算机网络——传输层(TCP)
传输层 在计算机网络中,传输层是将数据向上向下传输的一个重要的层面,其中传输层中有两个协议,TCP,UDP 这两个协议。 TCP 话不多说,我们直接来看协议报头。 源/目的端口号:表示数据从哪个进程来࿰…...
Go 语言规范学习(1)
文章目录 IntroductionNotation示例(Go 语言的 if 语句): Source code representationCharacters例子:变量名可以是中文 Letters and digits Lexical elementsCommentsTokensSemicolons例子:查看程序所有的token Ident…...
深入理解椭圆曲线密码学(ECC)与区块链加密
椭圆曲线密码学(ECC)在现代加密技术中扮演着至关重要的角色,广泛应用于区块链、数字货币、数字签名等领域。由于其在提供高安全性和高效率上的优势,椭圆曲线密码学成为了数字加密的核心技术之一。本文将详细介绍椭圆曲线的基本原理…...
nginx优化(持续更新!!!)
1.调整文件描述符 # 查看当前系统文件描述符限制 ulimit -n# 永久修改文件描述符限制 # 编辑 /etc/security/limits.conf 文件,添加以下内容 * soft nofile 65535 * hard nofile 65535# 编辑 /etc/sysctl.conf 文件,添加以下内容 fs.file-max 655352.调…...
ARCGIS PRO SDK 创建右键菜单
ArcGIS Pro SDK中的弹出式右键菜单常见的在地图视图、布局视图、文件目录等地方,随便右键点击某个文件、要素、要素类,一般都会弹出一个右键菜单。 操作对象右键菜单 refID要素图层esri_mapping_layerContextMenushp图层esri_mapping_unregisteredLaye…...
编译原理——LR分析
文章目录 LR分析概述一、LR分析概述二、LR(0)分析概述(一)可归前缀和子前缀(二)识别活前缀的有限自动机(三)活前缀及可归前缀的一般计算方法(四)LR(0)项目集规范族的构造 三、SLR(1)…...
css100个问题
一、基础概念 CSS的全称及作用是什么?行内样式、内部样式表、外部样式表的优先级?解释CSS的层叠性(Cascading)CSS选择器优先级计算规则伪类与伪元素的区别?举例说明!important的作用及使用注意事项如何继承父元素字体…...