C++:在project中使用nlohmann json

oxcyiej7  于 2023-08-09  发布在  其他
关注(0)|答案(2)|浏览(137)

我想在我的C++项目中使用nlohmann json。我从github下载后解压了压缩文件。我将解压缩的文件夹重命名为nlohmann_json,并将其复制到我的项目中。
github文档说:

  • json.hpp是single_include/nlohmann中的唯一必需文件,或在此处发布。您需要添加 *
#include <nlohmann/json.hpp>

// for convenience
using json = nlohmann::json;

字符串
所以在我的.cpp文件中,我有以下几行:

#include "nlohmann_json/include/nlohmann/json.hpp"

using json = nlohmann::json;


但是Visual Studio 2015 IDE显示以下消息作为工具提示:

命名空间nlohmann没有成员json

在输入nlohmann::后,我得到了一个自动建议json_pointer,而不是json
到底出了什么问题?

mxg2im7a

mxg2im7a1#

你其实对你的问题有一个提示。

json.hpp is the single required file in single_include/nlohmann or released here. You need to add

字符串
如果你去你从github checkout 的原始树,并这样做:

$ find . -name json.hpp
./include/nlohmann/json.hpp
./single_include/nlohmann/json.hpp


你可能会发现你的问题。您正在包括找到的第一个文件。你真的需要第二个-或者-你需要设置包括搜索路径更好。
我会这么做我会将./single_include/nlohmann/json.hpp复制到项目中。我不会包括整个树,只是这个文件。包括它。
我想这对你会更好。

qyswt5oh

qyswt5oh2#

您可以使用单头方法,其中可以直接包含单个json.hpp(在single_include中,只需将nlohmann/json.hpp放在项目的根目录中)。或者,如果你想包括一个有多个文件,那么你将需要在你的VS项目设置中设置额外的包含头。

MyProj
  nlohmann\....
  main.cpp

字符串
然后在VS项目设置中,将项目的路径添加到其他包含目录中。

相关问题