ubuntu 下使用 jsoncpp库

做项目的时候需要用c++解析json文件, 之前使用的是 libjson 库, 但当g++ 开启 -std=c++11 选项时, 该库的很多功能不能用, 而且还有一些其他的问题, 不推荐使用. 后来采用的是 jsoncpp 库, 可以在ubuntu下用下面的命令安装该库:

[plain] view plain copy

  1. sudo apt-get libjsoncpp-dev libjsoncpp0

库的头文件安装在/usr/include/jsoncpp中, 库API文档默认在/usr/share/doc/libjsoncpp-dev/jsoncpp-api-html/目录下 . jsoncpp 的github主页上也给出了生成库文档的方法. 使用该库的方法很简单, 在你的程序中加入

  1. #include <jsoncpp/json/json.h>

即可.

具体用法参考API文档, 非常简单.

 

、、、、、、、、、、、、、、、、、、、、、

方法二:

重点内容
一.准备:
1.安装 scons
scons是用Python进行编译的,而Linux大版本都带有Python 所以不用安装,只需安装scons即可。在安装scons是有两种方法:
(1)在终端下命令行安装 sudo apt-get install scons
(2)去网站下载源码包编译安装;(个人建议去网站下载源码包自己编译,这样文件路径比较清楚,命令行的安装路径都是系统默认路径,不便查找)http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz
进入解压目录执行如下命令:
Python setup.py install
然后设置环境变量 export MYSCONS=解压路径

export SCONS_LIB_DIR=$MYSCONS/engine
2.安装 jsoncpp
先去官网下载jsoncpp的源码包
http://sourceforge.net/projects/jsoncpp/files/
接下来一次执行命令:
tar -zxf jsoncpp-src-0.5.0.tar.gz
cd jsoncpp-src-0.5.0
scons platform=linux-gcc
mv libs/linux-gcc-5.4.0/libjson_linux-gcc-5.4.0_libmt.so /lib
mv include/json/ /usr/include

sudo mv libjson_linux-gcc-5.4.0_libmt.a /usr/local/lib/json_5.4.0.a

最后两步的执行时不一样的,看你想把文件方在哪个目录,我是放在/usr/lib 下的,头文件放在/usr/include下;

1、下载工具

JsonCpp

http://sourceforge.net/projects/jsoncpp/files/

比如下载的 jsoncpp-src-0.5.0.tar.gz

$ tar -zxvf jsoncpp-src-0.5.0 -C jsoncpp

说明:

① 安装JsonCpp需要下载JsonCpp和Scon还需要机器上有python

② scons又是一个牛叉的工具,功能和GNU make一样,又比make简单多了。scons是python工具,需要先安装好python。

 

2、安装

(1) 安装 scons

   $ sudo apt-get install scons

(2) 切换到 jsoncpp 目录

   $ python /usr/bin/scons platform=linux-gcc

(3) 生成静态和动态库文件

    在jsoncpp/libs/linux-gcc-4.7目录下

          libjson_linux-gcc-4.7_libmt.a

          libjson_linux-gcc-4.7_libmt.so

    $ sudo mkdir /usr/local/lib

(4) 把两个库文件拷贝到/usr/local/lib目录下

    $ sudo cp libjson_linux-gcc-4.7_libmt.* /usr/local/lib

(5) 将静态库重命名为libjsoncpp.a libjsoncpp.so (mv 命令)

 (6)   切换到 jsoncpp/include/json 目录

         $ sudo mkdir /usr/local/include/jsoncpp

         $ sudo cp * /usr/local/include/jsoncpp

3、使用

(1)包含头文件

#include <jsoncpp/json.h>

(2) 编译

加链接选项    -ljsoncpp

 

在linux下运行程序时,发现了error while loading shared libraries这种错误,解决:

./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。
所以,在
sudo gedit /etc/ld.so.conf
中加入/usr/local/lib这一行,保存之后,
再运行:sudo /sbin/ldconfig –v

更新一下配置即可。

Linux下python安装升级步骤详解 | Python2 升级Python3

Linux下python升级步骤 Python2 ->Python3
多数情况下,系统自动的Python版本是2.x
或者yum直接安装的也是2.x
但是,现在多数情况下建议使用3.x
那么如何升级呢?
下面老徐详细讲解升级步骤;

首先下载源tar包
可利用linux自带下载工具wget下载,如下所示:
wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz

下载完成后到下载目录下,解压
tar -xzvf Python-3.3.0.tgz

进入解压缩后的文件夹
cd Python-3.3.0

在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
mkdir /usr/local/python3

开始编译安装
bash ./configure –prefix=/usr/local/python3
make
make install

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
mv /usr/bin/python /usr/bin/python_old2

再建立新版本python的链接
ln -s /usr/local/python3/bin/python3/usr/bin/python

这个时候输入
python -V

就会显示出python的新版本信息
[idolaoxu@localhost home]# python -V
Python 3.3.0

PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,
这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。

<pre>
最后扩充下,
这种方法虽然能安装成功,但是它带来了新的问题,比如yum不能正常用了
修改/usr/bin/yum的第一行为:
‘#!/usr/bin/python_old2
就可以了
</pre>
如上是讲解已经存在Python2的情况下如何升级,如果是第一次安装呢?那更简单,有些步骤直接可省去,直接安装就OK

作者:IDO老徐
链接:https://www.jianshu.com/p/e422ea96c376
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。