zoukankan      html  css  js  c++  java
  • VS2013下使用cjson

    想要在C++实现json文件的读取。因为中间也遇到过很简单的坑,为了增加记忆,对实现过程做一个记录。

    本文采用的是静态链接库的方式:

    1、先在github上下载源码, json源码下载地址  

    2、打开makefilesmsvc2010jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json

    3、选择中间的lib_json项目,右键属性 —》C/C++ —》代码生成—》运行库,选择多线程DLL(/MD)

    4、还是lib_json项目,右键重新生成,就会生成一个lib_json.lib文件。

    5、将includejson文件夹下的.h文件拷贝出来,加入到自己的testjson工程包含目录下,将lib_json.lib拷贝到testjson工程的库目录下,并在配置属性—》链接器—》输入中,添加lib_json.lib

    6、开始调试自己的testjson工程,可以使用json了

    编译cef_binary_3.3112.1659.gfef43e0_windows32,生成了一个libcef_dll_wrapper.lib,供另一个工程所用。结果编译的时候报错。 
    错误信息如下: 
    1>libcef_dll_wrapper.lib(ImfTiledRgbaFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(obs-browser.obj 中) 
    1>libcef_dll_wrapper.lib(IexBaseExc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(obs-browser.obj 中) 
    1>libcef_dll_wrapper.lib(ImfHeader.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(obs-browser.obj 中) 
    1>libcef_dll_wrapper.lib(ImfFrameBuffer.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(obs-browser.obj 中)

    工程的运行库不匹配导致的。

    解决办法: 在编译生成libcef_dll_wrapper.lib的工程中修改, 
    在工程上右键-》属性-》c/c++-》代码生成-》运行库 
    有四个选项及含义分别如下: 
    多线程调试Dll (/MDd) 对应的是MD_DynamicDebug 
    多线程Dll (/MD) 对应的是MD_DynamicRelease 
    多线程(/MT) 对应的是MD_StaticRelease 
    多线程(/MTd)对应的是MD_StaticDebug

    error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug 
    从上面的错误提示可知,我们原来选择的是 多线程(/MTd) ,改为 多线程调试Dll (/MDd) 选项 即可。

    当然有的人遇到这样的问题,是要将 多线程调试Dll (/MDd) 改为 多线程(/MTd) 解决问题的。 
    无论是哪种,总之要将运行库选项配成一致即可!

  • 相关阅读:
    Linux系统与网络服务管理技术
    RAM阵列
    5月9日上海书城PPT畅销图书作者讲座
    计算变为人们梦寐以求的公用设施
    博文视点大讲堂28期 “助你赢在软件外包行业”成功举办
    WebService WSDL详解(上)
    Google十三年
    预编译头sadafx.h原理
    WebService WSDL详解(下)
    Ext 2.2在IE 9运行居然说Extall.j运行错误,晕死了
  • 原文地址:https://www.cnblogs.com/byteHuang/p/9620096.html
Copyright © 2011-2022 走看看