Search code examples
c++jsoncpp

Fatal error with jsoncpp while compiling


Am new to cpp but as per project requirements i need to consume rest api and parse the response. Am able to call api & capture the response but not able to parse it using JSONCPP library.

These are the steps i followed to parse json:

  1. Used this command to install libjsoncpp in ubuntu sudo apt-get install libjsoncpp-dev
  2. Downloaded json source files and copied json header files into project folder
  3. Compiling cpp using this command gcc -o test.out test.cpp -ljson

it is always giving

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

Didn't find any solution since 2 days. Tried this also. Can any one tell me where i am going wrong...


Solution

  • Since you're on Ubuntu I went to their package website and found the file list for the package you installed: http://packages.ubuntu.com/trusty/amd64/libjsoncpp-dev/filelist

    The first few files make the problem clear:

    /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
    

    Since compilers usually look in /usr/include, you need to provide the rest of the path, i.e.:

    #include <jsoncpp/json/json.h>
    

    You could also have found this file on your running system after installing the package by running this command:

    locate json.h
    

    Or using the dpkg command after installing the package.

    And when you link your program, you need to say -ljsoncpp, not -ljson.