VS2015编译jsoncpp

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

完成后如下图:

VS2015编译jsoncpp_第1张图片

VS2015编译jsoncpp_第2张图片

使用时,要设置VS项目的附加包含目录(include)路径,否则就要修改部分库的部分#include语句,去掉“json/”,我就是直接去掉#include的“json/”部分,修改过的代码也放在了我的git上的“jsoncpp-VS\jsoncpp\jsoncpp-1.9.1直接源码”目录中

你可能感兴趣的:(VS2015编译jsoncpp)