美文网首页
jsoncpp使用VS2008编译

jsoncpp使用VS2008编译

作者: 锦囊喵 | 来源:发表于2020-01-08 10:31 被阅读0次

原文链接
使用VS2008编译jsoncpp源码为静态库,在自己工程中使用

  1. VS2008

  2. MFC工程下使用

  3. JSON源码,下载地址:

  4. 解压下载的文件:jsoncpp-src-0.5.0.tar.gz jsoncpp
    5.打开源码的工程E:\vs2008_project\json\jsoncpp-src-0.5.0\makefiles\vs71\jsoncpp.sln
    6.生成Debug和Release版本的lib文件,步骤如下:
    1>>打开页面如下图1.
    2>>(Debug和Release模式方式一样)右键lib_json项目->仅用于项目->仅生产lib_json
    3>>再次右键lib_json项目->仅用于项目->仅链接lib_json
    4>>生成lib文件在E:\vs2008_project\json\jsoncpp-src-0.5.0\build\vs71下
    5>>注意:fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_writer.asm”: No such file or directory ,一般就是release版本的lib需要在属性设置的时候:配置属性->常规->项目默认值最下面两项改成如图所示.


  5. 拷贝 E:\vs2008_project\json\jsoncpp-src-0.5.0\include文件的下的json文件到自己的工程下.

  6. 拷贝刚生成的两个lib(如默认名称Debug版本json_vc71_libmtd.lib Release版本json_vc71_libmt.lib)到工程下.目录任意

9.lib文件 + 头文件.h 就可以添加到自己的工程下编译了
1&& 项目->属性->配置属性->C/C++->常规->附加包含目录(jsoncpp源码的头文件.h文件所在位置)
2&& 项目->属性->配置属性->链接器->常规->附加库目录(jsoncpp源码刚生成json_vc71_libmtd.lib和json_vc71_libmt.lib的目录)
3&& 项目->属性->配置属性->链接器->输入->附加依赖项(Debug版本json_vc71_libmtd.lib/Release版本json_vc71_libmt.lib)

10.一般情况下会报错,我的工程师MFC工程,而jsoncpp是win32控制台工程,所以那面容易出错
1## 错误如出现error LNK2005已定义.可修改 项目->属性->配置属性->常规->MFC的使用->在静态库中使用MFC
2## StdAfx.h没有引用可以在 项目->属性->配置属性->C/C++->预编译头->不使用预编译(/Yu)
3## 项目->属性->配置属性->C/C++->代码生成-->运行时库Debug:多线程调试(/MTD) 或者 Release:多线程调试(/MT)
11 .从文件中解析json.
CameraConfig是一个结构体,结构体类型和json转换类型一定要一致,否则崩溃.

#define JN_bAlarm           "bAlarm"  
#define JN_bAutoStart           "bAutoStart"  
#define JN_mAlarmCru            "mAlarmCru"  
#define JN_mDevIndex            "mDevIndex"  
#define JN_mDevIp           "mDevIp"  
#define JN_mDevPWD              "mDevPWD"  
struct CameraConfig  
{  
    bool bAlarm;  
    bool bAutoStart;  
    int mAlarmCru;  
    string mDevIndex;  
    string mDevIp;  
    string mDevPWD;  
};  

相关文章

网友评论

      本文标题:jsoncpp使用VS2008编译

      本文链接:https://www.haomeiwen.com/subject/wlijactx.html