-3

我最近在我的 mfc 项目中使用了 jsoncpp,它工作正常。但是当我尝试使用 /clr 编译项目时,我得到下面的链接器错误:

1>lib_json.lib(json_writer.obj):错误 LNK2038:检测到“RuntimeLibrary”不匹配:值“MT_StaticRelease”与 Brusher.obj 中的值“MD_DynamicRelease”不匹配

1>lib_json.lib(json_value.obj):错误 LNK2038:检测到“RuntimeLibrary”不匹配:值“MT_StaticRelease”与 Brusher.obj 中的值“MD_DynamicRelease”不匹配

1>lib_json.lib(json_reader.obj):错误 LNK2038:检测到“RuntimeLibrary”不匹配:值“MT_StaticRelease”与 Brusher.obj 中的值“MD_DynamicRelease”不匹配

1>lib_json.lib(json_writer.obj) : 错误 LNK2001: 无法解析的外部符号 "__int64 const std::_BADOFF" (?_BADOFF@std@@3_JB)

1>lib_json.lib(json_writer.obj) : 错误 LNK2001: 无法解析的外部符号 "public: static class std::locale::id std::ctype::id" (?id@?$ctype@D@std@@ 2V0语言环境@2@A)

1>lib_json.lib(json_writer.obj) : 错误 LNK2001: 无法解析的外部符号 "private: static int std::locale::id::_Id_cnt" (?_Id_cnt@id@locale@std@@0HA)

我将如何解决这个问题?

4

1 回答 1

1

我不知道如何将评论标记为答案,这是@Hans Passant 的答案:

您不能链接使用 /MT 构建的静态库。您必须使用 /MD 重建库,这是对 C++/CLI 的严格要求。– 汉斯·帕桑特 11 小时前

我所做的是用 /MD 重建 jsoncpp 库及其工作。

于 2015-01-17T03:44:55.317 回答