Centos7下新版本Jsoncpp编译安装
2021/11/28 7:12:59
本文主要是介绍Centos7下新版本Jsoncpp编译安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Centos7下新版本Jsoncpp编译安装
上一篇文章中,搭建好了虚拟机centos服务器,并且通过ssh连接,这里我们编译使用一下Jsoncpp这个广泛使用的json开源库。
编译
Jsoncpp直接下载源码编译,网址https://github.com/open-source-parsers/jsoncpp/
新建一个项目文件夹jsoncpp,然后git clone https://github.com/open-source-parsers/jsoncpp/
如果下载超时,试试git clone git://github.com/open-source-parsers/jsoncpp/
下载完以后,在项目目录同级新建一个文件夹build,用来编译工程,目录结构如下
jsoncpp
—jsoncpp(项目目录)
—build
然后cd到build目录下,执行,
cmake ../jsoncpp
会在build目录下生成编译文件,然后直接make即可,
make
这里需要注意,较新版本的jsoncpp需要C++11支持,所以gcc的版本需要比较新,否则会报一些错误。如果本地装了多个gcc的版本,可以手动指定一下项目目录下CMakeLists.txt文件中的编译器,
# --------------------------------------------------------------------------- # use ccache if found, has to be done before project() # --------------------------------------------------------------------------- #find_program(CCACHE_EXECUTABLE "ccache" HINTS /usr/local/bin /opt/local/bin) #if(CCACHE_EXECUTABLE) #message(STATUS "use ccache") #set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_EXECUTABLE}" CACHE PATH "ccache" FORCE) #set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_EXECUTABLE}" CACHE PATH "ccache" FORCE) #endif() SET(CMAKE_C_COMPILER "/usr/bin/gcc") SET(CMAKE_CXX_COMPILER "/usr/bin/g++")
把上面的注释掉,然后set指定一下编译器路径。
编译完成后会在编译目录build下的lib中生成.a和.so库
使用Jsoncpp
编译生成了静态和动态库,就可以直接使用了,这里测试下,新建一个cpp文件,包含一下头文件。Jsoncpp的头文件在clone下来的目录中jsoncpp\include\json,
#include<iostream> #include<string> #include<vector> #include "json/json.h" using namespace std; int main() { Json::Value cfg = Json::nullValue; cfg["name"] = "pengzheng"; cfg["age"] = "24"; cout<<cfg.toStyledString().c_str(); }
写一个简单的makefile测试下,
OBJ = main OBJ_SOURCE = main.cpp CC = g++ RM = rm -f LIBS = /home/pengzheng/program/test/libjsoncpp.a $(OBJ):$(OBJ_SOURCE) $(CC) -o $@ $(OBJ_SOURCE) $(LIBS) clean: $(RM) *.o $(OBJ)
然后,make一下,生成main文件,执行一下./main
ok了。
这篇关于Centos7下新版本Jsoncpp编译安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15基于JSON的大型语言模型代理与Ollama及LangChain的应用
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法