【发布时间】:2016-11-08 18:47:27
【问题描述】:
我能够使用 JsonCPP (https://github.com/open-source-parsers/jsoncpp) 创建一个测试 WinApp 来解析一个 json 文件。 但是,当我在 VS2008 中将 C/C++ -> Precompiled Headers 选项设置为 Use Precompiled Header(/Yu) 的 MFC C++ 项目中实现类似功能时,它会因此失败错误:
c:\users\user1\documents\visual studio 2008\projects\jsonutility\jsonutility\jsonTest.cpp(371):致命错误 C1010:查找预编译头文件时意外结束。您是否忘记在源代码中添加“#include "stdafx.h""?
如果我将 '#include "stdafx.h"' 添加到我的 JsonTest.cpp,我会收到此错误:
JsonTest.obj : error LNK2019: unresolved external symbol "public: class Json::Value & __thiscall Json::Value::operator[](char const *)" (??AValue@Json@@QAEAAV01@PBD@ Z) 在函数“public: void __thiscall JsonTest::readConfig(char const *)”中引用 (?readConfig@JsonTest@@QAEXPBD@Z)
我已经尝试了将近 2 天,但没有成功。 我在附加包含目录中添加了以下内容:
C:\Users\User1\Documents\Visual Studio 2008\Projects\JsonUtility\ReadingJson\dist
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include
C:\usr\jsoncpp-master\include
【问题讨论】:
-
这是一个链接器错误。如果你已经构建了 jsoncpp,你应该有一个 .lib 文件。将 .lib 文件添加到项目的 Configuration Properties > Linker > Input > Additional Dependencies。
标签: visual-c++ visual-studio-2008 mfc jsoncpp