json官网 http://www.json.org/
json资源下载地址 http://sourceforge.net/projects/jsoncpp/

下载json库后,进入makefiles\vs71 选择工程文件进行编译 

编译完成后,可以在build\vs71目录下的debug或release目录下的lib_json文件夹下找到生成的lib文件

如果你的工程需要用到json库,将lib文件和include\json目录拷贝到你的工程目录下,或者将工程的目录引用过来,就可以使用了

但是,有些时候会遇到类似问题

1.第一种情况:

>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QEAA@XZ) 已经在 libcpmtd.lib(xlock.obj) 中定义
>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) 已经在 libcpmtd.lib(xlock.obj) 中定义
>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPEB_W0I@Z) 已经在 libcpmtd.lib(stdthrow.obj) 中定义
>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) 已经在 BehaviorTree.obj 中定义
>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QEAA@XZ) 已经在 BehaviorTree.obj 中定义
>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __cdecl std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QEAA@XZ) 已经在 BehaviorTree.obj 中定义

....

发生这种情况,首先,打开json工程,右键-->属性-->C/C++-->代码生成-->运行库 查询此选择的属性 和你的工程属性是否相同,需要保持一致才可以


2.第二种情况:

error LNK2019: 无法解析的外部符号 "public: bool __cdecl Json::Reader::parse(char const *,char const *,class Json::Value &,bool)"

...

发生这种情况,打开json工程,右键-->属性 查看平台选项 是否和你的工程属性相同,需要保持一直才可以


3.第三种情况:

../../build/vs71/release/lib_json\json_writer.asm

发生这种情况,打开json工程,右键-->属性,选择release模式, C/C++-->输出文件-->汇编程序输出 选择无列表

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐