windows下JSonCpp的编译和使用

下载地址:https://sourceforge.net/projects/jsoncpp/html

  1. 解压下载好的文件:jsoncpp-src-0.5.0.tar.gz
  2. 利用VS2013(也能够用其余版本VS编辑器打开)打开jsoncpp-src-0.5.0\makefiles\vs71目录下的jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json
  3. 检查设置:在lib_json上右击-->Properties-->Configuration Properties-->C/C++-->Code Generation,检查设置是否为RunTime  Library  为MTD  
  4. 切换配置中须要生成的平台,win32仍是x64,debug版本仍是release版本

在用vs2013打开下载的JSonCpp工程文件会出现工程升级提示,直接点击肯定。能够看到:json

 按照须要修改生成的版本,Debug版本仍是Release版本。Win32仍是x64:编辑器

 下图是安装须要配置,这里是64位平台,若是须要的是32位的lib,则无需配置。函数

 检查一遍这里:测试

直接点击从新生成,在spa

 

例如:上述生成的是64位debug版本的lib: json_vc71_libmtd.lib.net

新建一个测试工程,控制台程序JSonDemodebug

将jsoncpp-src-0.5.0中的头文件夹include拷贝到该工程目录下,而后创建一个lib文件夹,将上一步生成的 json_vc71_libmtd.lib放在其中。3d

 右键修改JSonDemo的配置,注意要和上一步生成的lib对应平台。调试

 如下须要设置:

 

 

 记得将这里改为MTd:

到此为止,则配置完成。

开始添加main函数,进行简单测试:

#include "json/json.h"
#include <string>

int main()
{
    std::string strValue = "{\"key1\":\"value1\"}";
    Json::Reader reader;
    Json::Value value;

    if (reader.parse(strValue, value))
    {
        std::string out = value["key1"].asString();
        std::cout << out << std::endl;
    }

    return 0;
}

中间可能会遇到的问题:

1.请问debug编译时警告提示缺乏引用模块的调试信息;正在连接对象,如同没有调试信息同样。解决方法:将生成lib的工程清理一遍,从新生成lib。

参考:http://bbs.csdn.net/topics/260012340

2.在下载的工程中直接用测试例子,出现lib打不开的连接错误,这个能够不用担忧,直接新建工程,按照设置,能够正确运行。

3.若出现error LINK2038错误:检测到"RuntimeLibrary"的不匹配项:值。。。

解决方法在生成lib的工程中,设置一样的运行库,这里是是运行库不匹配形成的。

这里按目标工程的须要设置。

使用参考:https://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

编译参考:http://blog.csdn.net/u010442009/article/details/38401351

其余:      http://www.cppblog.com/wanghaiguang/archive/2013/12/26/205020.htmlug

相关文章
相关标签/搜索