编译时jsoncpp出现致命错误

时间:2016-04-26 09:51:50

标签: c++ jsoncpp

是cpp的新手,但根据项目要求,我需要使用rest api并解析响应。 能打电话给api&捕获响应但不能使用JSONCPP库解析它。

以下是解析json的步骤:

  1. 使用此命令在ubuntu中安装libjsoncpp sudo apt-get install libjsoncpp-dev
  2. 下载json源文件并将json头文件复制到项目文件夹
  3. 使用此命令编译cpp gcc -o test.out test.cpp -ljson
  4. 总是给予

    fatal error: json/json.h: No such file or directory
     #include <json/json.h>
                           ^
    compilation terminated.
    

    自2天以来没有找到任何解决方案。试过了this。 谁能告诉我哪里出错了?

2 个答案:

答案 0 :(得分:4)

由于您使用的是Ubuntu,我访问了他们的软件包网站,找到了您安装软件包的文件列表:http://packages.ubuntu.com/trusty/amd64/libjsoncpp-dev/filelist

前几个文件可以清楚地解决问题:

/usr/include/jsoncpp/json/autolink.h
/usr/include/jsoncpp/json/config.h
/usr/include/jsoncpp/json/features.h
/usr/include/jsoncpp/json/forwards.h
/usr/include/jsoncpp/json/json.h

由于编译器通常会查看/usr/include,因此您需要提供其余路径,例如:

#include <jsoncpp/json/json.h>

通过运行此命令安装程序包后,您也可以在正在运行的系统上找到此文件:

locate json.h

安装软件包后使用dpkg命令。

当您关联自己的计划时,您需要说-ljsoncpp,而不是-ljson

答案 1 :(得分:0)

另一种解决方案:

sudo apt-get install libjsoncpp-dev 
sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json