CentOS7(7.4)环境下使用JSONCPP一般步骤

一、环境准备

1.内核详情:Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

2.g++(gcc)版本:gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)

3.下载scon和jsoncpp安装包

scon:http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz

jsoncpp:https://sourceforge.net/projects/jsoncpp/  目前是jsoncpp-src-0.5.0.tar.gz版本

4安装

scon

[my@localhost src]$tar -zxvf scons-2.1.0.tar.gz #cd scons-2.1.0

[my@localhost src]$python setup.py install

Jsoncpp

[my@localhost src]$tar -zxvf jsoncpp-src-0.5.0.tar.gz

[my@localhost src]$cd jsoncpp-src-0.5.0

[my@localhost src]$scons platform=linux-gcc

在 /usr/local/jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5  目录下会生成两个文件:

生成的文件名与当前gcc版本有关。

5.将这两个文件拷贝到  /usr/lib64 下,

include下面的文件夹json拷贝到 /usr/include 下。

二、项目实施(代码编译)

1.依赖库(私有库)

依赖库主要包括:libevent、libjsoncpp、libnshost、libmontion_net等四部分;除jsoncpp库再、/usr/local/室外其余均在/usr/lib中

libevent( Libevent之http协议框架): libevent-2.1.so.7、libevent_core-2.1.so.7.0.0、libevent_extra-2.1.so.7.0.0、libevent_pthreads-2.1.so.7.0.0
libjsoncpp(json数据解析):

libnshost(nsp单例库):libnshost.so (mv nshost.so.9.7.8  libnshost.so)

libmotion_net(Tcp协议框架库):libmotion_net.so(mv  motion_net.so  libmotion_net.so)

2.代码编译和运行

从代码编译到运行分成两步骤:生成汇编文件、由汇编文件产生可执行文件(defect)

       汇编:net_client_manager.o(Tcp协议相关)、net_client_session.o(Tcp协议相关)、ToolImpl.o(工具类)、TcpData.o(Tcp数据转换)、 HttpData.o(Http数据转换)以及main.cpp(入口函数)

net_client_manager.o:[cys@localhost src]$ g++  -c  net_client_manager.cpp   -I../include/nsp/  -I../include/proto  -std=c++11

net_client_session.o:    [cys@localhost src]$g++  -c  net_client_session.cpp   -I../include/nsp/ -I../include/proto -std=c++11

ToolImpl.o:  [cys@localhost src]$ g++  -c ToolImpl.cpp   -I../include/nsp  -std=c++11

TcpData.o:  [cys@localhost src]$g++  -c    TcpData.cpp    -I../include/nsp  -std=c++11

 HttpData.o: [cys@localhost src]$g++   -c  HttpData.cpp  -I../include/nsp -std=c++11

可执行文件(defect)

[cys@localhost src]$ g++  net_client_session.o  net_client_manager.o   ToolImpl.o  TcpData.o  HttpData.o  main.cpp  -o ../bin/defect   -std=c++11  -lpthread   -rdynamic -lpthread  -levent_pthreads  -levent -lcrypt -ldl  -lnshost   -lmotion_net  -ljson_linux-gcc-4.8.5_libmt  -I../include/nsp

三、运行

致谢:https://blog.csdn.net/sxm0403/article/details/96140638

https://blog.csdn.net/xiaoge2030/article/details/77678729?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control

参考:gcc -ldl 选项作用:https://blog.csdn.net/qingzhuyuxian/article/details/81877827https://blog.csdn.net/weixin_39517289/article/details/111798467

GNU之makefile操作文档:链接: https://pan.baidu.com/s/1rZkHF8XCpXLpz29E6Tr20w 提取码: sk3j 

猜你喜欢

转载自blog.csdn.net/xiaoshunzi111/article/details/112563557
今日推荐