我是一个新的C ++程序员,我正在使用C ++自己完成我的第一个程序。 我决定使用JSON来存储一些我将要使用的数据,并且我find了一个库来处理JSON, JsonCpp 。
我已经使用我的Linux系统的软件包pipe理器安装了这个库,在我的C ++代码中,我使用了我的源代码文件
#include <json>
并使用g ++编译它,它是-ljson和-L / usr / lib选项(libjson.so位于/usr/lib
)。
但是,由库提供的对象Json :: Value的第一个用法给出了“Json没有声明”的编译错误。 我确定我的错误是简单的,所以有人可以解释我做错了什么? 我没有提到如何使用共享库,所以我不得不谷歌find这么多。
编辑:g ++与-E选项给出这个错误:
json:没有这样的文件或目录。
我检查了JsonCPP的文件列表:
include/json/autolink.h [code] include/json/config.h [code] include/json/features.h [code] include/json/forwards.h [code] include/json/json.h [code] include/json/reader.h [code] include/json/value.h [code] include/json/writer.h [code]
如果头文件安装在/usr/include
请尝试#include <json/json.h>
。 如果他们安装在别的地方,请用-I
提到这条路
g++ -I/my/lib/include -L/my/lib/lib -lmylib mysource.cpp
你也告诉g ++通过-I
在哪里找到头文件 – 这将是我对这个问题的猜测。
这个错误几乎肯定意味着你没有在实际的源文件中获取错误的#include
。
使用
g++ -E [whatever other options]
看到CPP输出将是一种方法来检查,看看你实际上包括了什么。
如果你真的粘贴错误信息可能会有所帮助; 你的评论暗示了#include的一个错误,但是你的问题提示了其他的东西。