我想编译一个使用rocksdb的程序。无法编译rocksdb,没有找到依赖关系
根据官方网页中的例子,我应该添加到我的代码中的唯一头文件是db.h.
现在,我编译的文件位于文件夹A中。 db.h但是位于A/rocksdb-master/include/rocksdb /中。
所以,我这行添加到我的文件:
#include "rocksdb-master/include/rocksdb"
找到文件,但问题是这里面db.h,我有这样一行:
#include "rocksdb/metadata.h"
当我编译我得到这个错误:
致命错误:rocksdb/metadata.h:没有这样的文件或目录 的#include “rocksdb/metadata.h”
我的意思是,这很明显。 db.h与metadata.h位于同一个文件夹中,所以编译器无法找到任何rocksdb文件夹是很好的。但我怀疑写这个图书馆的人不知道这一点。
有没有其他的方式来添加路径来编译它? 为什么db.h的路径与它所在的位置不相关?
您应该为编译器的include路径添加“rocksdb-master/include”。你如何做到这一点取决于编译器。 –
没有'#include“metadata.h”'的原因当然是很多库都有这样的文件。 –