jsoncpp下载地址:https://github.com/open-source-parsers/jsoncpp/releases
版本:jsoncpp-1.9.1
下载jsoncpp源码,使用cmake-gui可以直接生成工程,然后直接编译就可以了
我使用VS2015编译好的jsoncpp x86和x64 静态库地址:https://gitee.com/chenjk10/jsoncpp-VS
其实除了编译成静态库,还可以直接使用源码,因为文件比较少,也避免换编译器就要重新编译的麻烦
源码部分为:
jsoncpp-1.9.1includejson
jsoncpp-1.9.1srclib_json
两个文件夹内文件合并到一个json文件内,version.h.in文件复制并重命名为version.h,version.h文件内容修改为:
// DO NOT EDIT. This file (and "version") is a template used by the build system// (either CMake or Meson) to generate a "version.h" header file.#ifndef JSON_VERSION_H_INCLUDED#define JSON_VERSION_H_INCLUDED#define JSONCPP_VERSION_STRING "1.9.0"#define JSONCPP_VERSION_MAJOR 1#define JSONCPP_VERSION_MINOR 9#define JSONCPP_VERSION_PATCH 0#define JSONCPP_VERSION_QUALIFIER#define JSONCPP_VERSION_HEXA ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | (JSONCPP_VERSION_PATCH << 8))#ifdef JSONCPP_USING_SECURE_MEMORY#undef JSONCPP_USING_SECURE_MEMORY#endif#define JSONCPP_USING_SECURE_MEMORY 0// If non-zero, the library zeroes any memory that it has allocated before// it frees its memory.#endif // JSON_VERSION_H_INCLUDED
这个文件的内容其实是使用cmake生成的VS工程里生成的jsoncpp-VSjsoncpp-1.9.1VS2015Win32includejsonversion.h
完成后如下图:
![b373b20a6d02f206b92f8dcc0ea64aa0.png](https://i-blog.csdnimg.cn/blog_migrate/6b8987f4f2ee36eb70bb9c1343b1fc7c.jpeg)
![9d0530490b5830766c76332c5930b03e.png](https://i-blog.csdnimg.cn/blog_migrate/e111c6407add7c85a9e396d827067c7c.jpeg)
使用时,要设置VS项目的附加包含目录(include)路径,否则就要修改部分库的部分#include语句,去掉“json/”,我就是直接去掉#include的“json/”部分,修改过的代码也放在了我的git上的“jsoncpp-VSjsoncppjsoncpp-1.9.1直接源码”目录中