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.1\include\json
jsoncpp-1.9.1\src\lib_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-VS\jsoncpp-1.9.1\VS2015Win32\include\json\version.h
完成后如下图:
使用时,要设置VS项目的附加包含目录(include)路径,否则就要修改部分库的部分#include语句,去掉“json/”,我就是直接去掉#include的“json/”部分,修改过的代码也放在了我的git上的“jsoncpp-VS\jsoncpp\jsoncpp-1.9.1直接源码”目录中