ubuntu下安装jsoncpp时遇到的坑

为了在C++程序中解析json文件而选择了jsoncpp,但是安装过程并不是那么顺利,特写此文来记录踩过的坑

首先是执行

1
sudo apt-get install libjsoncpp-dev

时遇到如下报错

1
2
3
Errors were encountered while processing:
python-gtk2-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决办法:
分别执行下面两行命令,注意把PACKAGE替换为python-gtk2-dev

1
2
mv /var/lib/dpkg/info/PACKAGE.* /tmp/
dpkg --remove --force-remove-reinstreq PACKAGE

之后再执行install指令就能安装jsoncpp了


安装后,使用如下命令编译时报错

1
g++ server.cpp -o server

报错信息如下

1
2
server.cpp:14:23: fatal error: json/json.h: No such file or directory
compilation terminated.

解决办法:
将代码中的

1
#include <json/json.h>

换成

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

同时将编译命令换成

1
g++ server.cpp -o server -ljsoncpp

参考资料

Problems with python-gtk2-dev after update to Ubuntu 15.04

[Fatal error with jsoncpp while compiling](Fatal error with jsoncpp while compiling)