简体   繁体   中英

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...

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, ie:

#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 .

another solution:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM