使用VS2008编译jsoncpp源码为静态库,在自己工程中使用 1. VS2008 2. MFC工程下使用 3. JSON源码,下载地址: 4. 解压下载的问价:jsoncpp-src-0.5.0.tar.gz 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需要在属性设置的时候:配置属性->常规->项目默认值最下面两项改成如图所示. 7. 拷贝 E:\vs2008_project\json\jsoncpp-src-0.5.0\include文件的下的json文件到自己的工程下. 8. 拷贝刚生成的两个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转换类型一定要一致,否则崩溃. |
|