Visual Studio2013配置json库详细步骤(亲测可用)

写在前面的话

\quad 最近在学习mask rcnn网络,准备将其应用到自己的项目上,然而现有的训练和验证数据集的制作多依赖于第三方软件的手工制作,本着将现有数据大规模转化为网络训练集与验证集的目的,我开始了在vs2013上配置json库,使自己vs2013工程的输出直接用作为网络的训练与测试数据集。
\quad 然而,在配置过程中还是遇到了一些问题,如果你遇到的问题和我一样,那么希望这篇博客可以帮助到你。

问题

1)jsoncpp库在GitHub上,地址为https://github.com/open-source-parsers/jsoncpp,但是这个jsoncpp的安装需要前提,即安装vcpkg,而vcpkg的安装需要visual studio2015 Update 3 或者更新版本,所以无法直接在vs2013上配置
2)现有的安装教程博客基本上都直接链接到GitHub的这个地址,所以对我们老版本的vs用户来说,根本就找不到他们所说的安装文件

解决途径

针对上面的问题,其实就两种途径(看个人喜好怎么选择):
\quad 途径一:寻找适用于vs2013及以下版本的jsoncpp安装,
\quad 途径二: 升级visual studio到新版,安装vcpkg,然后按照github上给出的教程配置jsoncpp
\quad 由于本人用惯了vs2013,电脑也没有太大的内存再去装一个新版vs,所以本博客主要针对寻求旧版jsoncpp,并配置到vs2013进行详解。

途径一

寻找适用于vs2013的旧版jsoncpp,这里给出旧版的下载地址,点击进入链接下载Visual Studio2013配置json库详细步骤(亲测可用)_第1张图片
下载完解压,得到文件jsoncpp-src-0.5.0依次打开该文件夹下的makefiles → \to vs71 → \to jsoncpp.sln,然后选择debug如下图
在这里插入图片描述
选中解决方案资源管理器下的lib_jsonVisual Studio2013配置json库详细步骤(亲测可用)_第2张图片
右击,依次选择Project Only → \to Build Only lib_json,如下图
Visual Studio2013配置json库详细步骤(亲测可用)_第3张图片
再依次选择Project Only → \to Link Only lib_json,若是需要release版,选择release,如下图Visual Studio2013配置json库详细步骤(亲测可用)_第4张图片
重复上面的操作Project Only → \to Build Only lib_jsonProject Only → \to Link Only lib_json。下面开始添加:
1)完成这些操作以后,我们在文件夹jsoncpp-src-0.5.0下就有了build文件夹,点击build → \to vs71 → \to debug/release,发现里面有了.lib文件。
2)在电脑上任一喜欢的位置创建文件夹json,在文件夹json里面再创建includelib两个文件夹,将jsoncpp-src-0.5.0\include\json文件夹下的所有.h文件拷贝到新建的json\include文件夹下。在lib文件夹下新建两个文件夹debugrelease,将jsoncpp-src-0.5.0\build\vs71\debug\lib_json文件夹下的文件json_vc71_libmtd.lib拷贝到json\lib\debug中,将jsoncpp-src-0.5.0\build\vs71\release\lib_json文件夹下的文件json_vc71_libmt拷贝到json\lib\release中。
3)对要配置的vs2013工程,找到解决方案资源管理器,右击选择properties
\quad a.选择C/C++ → \to General → \to Additional Include Directories,将我们创建的json文件中的include文件夹所在的路径添加到Additional Include Directories下(我的是D:\jsonpp\include,依个人具体情况)
\quad b.选择Link → \to General → \to Additional library Directories,将我们创建的json文件中的debug文件夹所在的路径添加到Additional Library Directories下(我的是D:\jsonpp\lib\debug,依个人 具体情况)
\quad c.选择Link → \to Input → \to Additional Dependencies,在其中添加json_vc71_libmtd.lib
\quad d. 选择C/C++ → \to Code Generation → \to Runtime Library,改为Multi-threaded Debug (/MTd)
完成配置。

测试

在配置完的工程中添加test.cpp文件,输入

#include
#include 
#include 
using namespace std;

int main(){


	Json::Value root;
	Json::Value data;
	root["name"] = "yang ying";
	root["studentID"] = "bd19101";
	data["age"] = 20;
	data["hobby"] =" running";
	data["grade"] = "d1";
	root["info"] = data;

	Json::StyledWriter writer;
	ofstream os;
	os.open("test.json");
	os << writer.write(root);
	os.close();
	return EXIT_SUCCESS;

}

输出为
Visual Studio2013配置json库详细步骤(亲测可用)_第5张图片
配置可用。

途径二

途径二是现在的主要配置途径,只要按照github上的要求,输入相应的命令即可完成配置,相应命令如下图所示,来源Visual Studio2013配置json库详细步骤(亲测可用)_第6张图片
这里不再赘述。

总结

\quad 最后的最后再唠叨一句,新版本的jsoncpp已经摒弃了老版本的数据读写函数,改用Json::StreamWriterBuilder writerBuilder替代,所以如果是新版本jsoncpp,上面的代码编译会出现error C4996: ‘Json::StyledWriter::write’: Use StreamWriterBuilder instead这样的报错,不用担心,GitHub下下载的文件包含了新版函数的用法示例,可供我们参考,在下载的jsoncpp-master\example文件夹下,如下图所示
Visual Studio2013配置json库详细步骤(亲测可用)_第7张图片

你可能感兴趣的:(json,visual,studio2013)