VS 2012 停编译 jsonCpp 出错

VS 2012 下编译 jsonCpp 出错
我是按照网上的流程做的 请看链接 http://www.cnblogs.com/ppboy_dxh/archive/2011/03/03/1970290.html

我选择的是方法2...

1.我在vs2012 建了一个MFC 项目,取名为test2

2.我从网上下载了 jsoncpp 并且 打开 jsoncpp-src-0.5.0\makefiles\vs71目录下的jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json

3. 在lib_json上 右击-->Properties-->Configuration Properties-->C/C++-->Code Generation, 选择多线程 MTD

4.点击生成 解决方案,然后将生成好的 json_vc71_libmtd.lib 和 include\json 目录下的.h 文件拷贝到工程目录下

5.在test2 工程右击 右击-->Properties-->Configuration Properties-->C/C++-->Code Generation, 选择多线程 MTD

6.在工程名上 右击-->Properties-->Configuration Properties-->Linker-->Input, 在Additional Dependencies里填写json_vc71_libmtd.lib

7.我有一处代码需要用到json 解析 
Json::Reader reader;
    Json::Value root;
    if (!reader.parse(rep, root, false))
    {
        //return;
    }

8.点击 生成 之后,就一直报错

当工程选择的是MTD 时...

:\program files (x86)\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds


当工程选择的是 MD 时

json_vc71_libmtd.lib(json_value.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(HttpClient.obj 中)
1>json_vc71_libmtd.lib(json_reader.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(HttpClient.obj 中)
1>json_vc71_libmtd.lib(json_writer.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(HttpClient.obj 中)
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) 已经在 json_vc71_libmtd.lib(json_value.obj) 中定义
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) 已经在 json_vc71_libmtd.lib(json_value.obj) 中定义
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) 已经在 json_vc71_libmtd.lib(json_value.obj) 中定义
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::locale::id::id(unsigned int)" (??0id@locale@std@@QAE@I@Z) 已经在 json_vc71_libmtd.lib(json_value.obj) 中定义
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: struct std::_Iterator_base12 * * __thiscall std::_Container_base12::_Getpfirst(void)const " (?_Getpfirst@_Container_base12@std@@QBEPAPAU_Iterator_base12@2@XZ) 已经在 json_vc71_libmtd.lib(json_value.obj) 中定义
1>libcpmtd.lib(locale0.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(HttpClient.obj 中)
1>libcpmtd.lib(locale0.obj) : error LNK2005: "void __cdecl std::_Facet_Register(class std::_Facet_base *)" (?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z) 已经在 msvcprtd.lib(locale0_implib.obj) 中定义
1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) 已经在 msvcprtd.lib(MSVCP110D.dll) 中定义