尝试使用C ++中的JSON Spirit将JSON写入文件

时间:2017-11-16 04:47:38

标签: c++ json json-spirit

我正在尝试使用JSON Spirit将JSON写入文件。

我使用的代码类似于网站上提供的示例,如下所示:

json_spirit::Object emotion_json;
emotion_obj.push_back(json_spirit::Pair("Dominant emotion", "Joy"));

ofstream os("emotion_json.json");
json_spirit::write(emotion_obj, os);
os.close();

我一直收到错误:

undefined reference to 'json_spirit::write(json_spirit::Value_impl<json_spirit::Config_vector<std::string> > const&, std::ostream&, int, unsigned int)'

我尝试使用JSON Spirit的不同变体将JSON输出到文件中,但是尽管有标题,但它们似乎都不适用于我:

#include <json_spirit.h>
#include <json_spirit_writer_template.h>
#include <json_spirit_writer.h>

知道可能会发生什么吗?此外,如果有一个更好的,轻量级的库来用C ++创建JSON结构,我很满意。谢谢!

1 个答案:

答案 0 :(得分:1)

启用链接选项:

-ljson_spirit

如果编译器找不到json_spirit,请使用

-L /path/to/the/parent/folder/of/libjson_spirit.a 

json_spirit之前和.cpp文件名称之后。

如果找不到任何libjson_spirit.a,则应构建库。

转到您看到文件json_spirit的源代码中的文件夹CMakeLists.txt

在命令行中输入:

cmake .
make

然后会创建libjson_spirit.a