Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
One approach to integrating JsonCpp in your project is to include
the amalgamated source (a single
.cpp file and two
.h files) in your project, and compile and build as you
would any other source file. This ensures consistency of compilation flags and
ABI compatibility, issues which arise when building shared or static
libraries. See the next section for instructions.
include/ should be added to your compiler include path. JsonCpp headers
should be included as follow:
If JsonCpp was built as a dynamic library on Windows, then your project needs to define the macro
Generating amalgamated source and header
JsonCpp is provided with a script to generate a single header and a single source file to ease inclusion into an existing project. The amalgamated source can be generated at any time by running the following command from the top-directory (this requires Python 2.6):
It is possible to specify header name. See the
-h option for detail.
By default, the following files are generated:
dist/jsoncpp.cpp: source file that needs to be added to your project.
dist/json/json.h: corresponding header file for use in your project. It is equivalent to including
json/json.hin non-amalgamated source. This header only depends on standard headers.
dist/json/json-forwards.h: header that provides forward declaration of all JsonCpp types.
The amalgamated sources are generated by concatenating JsonCpp source in the
correct order and defining the macro
JSON_IS_AMALGAMATION to prevent inclusion of other headers.