jsoncpp注意:
在 配置属性 -> C/C++ -> 代码生成 右边的“运行库” 选择 MTd,而/MTd”和“/clr”命令行选项不兼容导致了通过clr命令导入的webservice服务不能正常运行。
一 编译链接
1 在相应官网下载jsoncpp
2 解压得到jsoncpp-src-0.5.0文件
3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 -> jsoncpp.sln
4 转换项目为VS2010格式
5 选择debug模式
6 在“解决方案资源管理器”中右击 lib_json 选择->仅用于项目 -> 仅生成lib_json
7 再次右击 lib_json 选择->仅用于项目 -> 仅链接lib_json
8 选择release模式
9 重复操作 6 和 7
10 生成的.lib文件夹在jsoncpp-src-0.5.0 ->build -> vs71 中。
二 创建静态链接库SDK
1 在 D:\study\toolsForVS2010 (这里换成你自己想要放置静态链接库SDK的位置)中创建文件夹 jsonPP
2 在jsonPP中创建文件夹 include 和 lib
3 在include中创建文件夹 json ,将jsoncpp-src-0.5.0 -> include -> json 中的.h文件全部复制过来
4 在lib中创建文件夹debug和release ,把jsoncpp-src-0.5.0 ->build -> vs71 -> debug -> lib_json 中的.lib文件(比如json_vc71_libmtd.lib)复制到debug文件夹(此时可以修改文件夹名为json.lib),同理,把jsoncpp-src-0.5.0 ->build -> vs71 -> release -> lib_json 中的.lib文件(比如json_vc71_libmtd.lib)复制到release文件夹
三 打开要添加json的项目,或新建一个WIN32控制台程序(添加main.cpp,加入源代码,示例代码可在jsoncpp.sln的 json_test中找到)
1 选择 项目 ->属性
2 选择 配置属性 -> C/C++ -> 常规 右边的“附加包含目录” 添加include文件夹 :D:\study\toolsForVS2010\jsonPP\include
3 选择 配置属性 -> C/C++ -> 代码生成 右边的“运行库” 选择 MTd
4 选择 配置属性 -> 连接器 -> 常规 右边的“附加库目录” 添加lib文件夹 :D:\study\toolsForVS2010\jsonPP\lib\debug
5 选择 配置属性 -> 连接器 -> 输入 右边的“附加依赖项” 添加lib文件 :json_vc71_libmtd.lib(若在 二 - 4 中修改了文件名为json.lib,则此处改成json.lib)
6 点击应用完成json配置。
7 若项目需要发布时(即项目选择release),则
a. 选择 配置属性 -> C/C++ -> 代码生成 右边的“运行库” 选择MT
b. 选择 配置属性 -> 连接器 -> 常规 右边的“附加库目录” 添加lib文件夹 :D:\study\toolsForVS2010\jsonPP\lib\release
c. 然后可以运行程序获得release版本程序
使用代码举例:
// JsonDemo.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include"json.h"
using namespace std;
using namespace Json;
int _tmain(int argc, _TCHAR* argv[])
{
Json::Reader reader;
Json::Value json_object;
const char* json_document = "{\"age\" : 26,\"name\" : \"123\"}";
if (!reader.parse(json_document, json_object))
return 0;
std::cout << json_object["name"] << std::endl;
std::cout << json_object["age"] << std::endl;
return 0;
}