加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

引用JsonCPP库发生的问题和解决过程

发布时间:2020-12-16 19:01:53 所属栏目:百科 来源:http://sourceforge.net/project
导读:C++要使用JSON来解析数据,一般采用jsoncpp. 网站:http://sourceforge.net/projects/jsoncpp/ 我们如果要引用JSON的API有两种方法: 其一:引用lib文件;其二:引用源文件 在这里我只试验了方法一: 方法一: 1.从git上下载jsoncpp:https://github.com/open

C++要使用JSON来解析数据,一般采用jsoncpp.

网站:http://sourceforge.net/projects/jsoncpp/

我们如果要引用JSON的API有两种方法:

其一:引用lib文件;其二:引用源文件

在这里我只试验了方法一:


方法一:

1.从git上下载jsoncpp:https://github.com/open-source-parsers/jsoncpp

2.解压下载好的文件:jsoncpp-src-0.5.0.tar.gz

3.使用vs打开jsoncpp-src-0.5.0.tar.gzmakefilevs71目录下中的jsoncpp.sln,打开后会出现三个项目工程jsontest,lib_json,test_lib_json

4.在lib_json上右击->Properties-->Configuration Properties-->C/C++-->Code Generation,记录下右边的Runtime Library的属性内容(因为两个工程的属性要保持相同,否则会编译出错)

5.编译lib_json,显示编译成功以后,在jsoncpp_src-0.5.0buildvs71debuglib_json目录下会生成一个json_vc71_libmtd.lib,将这个lib拷贝到需要使用jsoncpp的工程目录JsonTestApp下。


意外:

当我把头文件和lib_json.lib都正常引入了JsonTestApp工程下,并设置了相应的路径。但是debug运行失败:

json静态链接错误:msvcprtd.lib(MSVCP100D.dll)

原因:

因为之前在编译生成lib_json.lib时我们选择了Multi-threaded Debug (/MTd)的运行时库。所以我应该在JsonTestApp下配置如下:

工程(Project)->属性(Properties)->配置属性(Configuration Properties)->c/c++->代码生成(Code Generation)->运行时库(Use run-time library)->Multi-threaded Debug (/MTd)。

当然我们可以在生成lib时配置Multi-threaded Debug DLL (/MDd),然后再JsonTestApp中也同样配置如此。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读