C++ 对leveldb选项的未定义引用
我试图在我们的项目中使用leveldb。我使用C++ 对leveldb选项的未定义引用,c++,leveldb,C++,Leveldb,我试图在我们的项目中使用leveldb。我使用 leveldb::Options options; 在顶部,我包含了相应的文件: #include "leveldb/db.h" #include "leveldb/options.h" 但当我编译时,我得到了: undefined reference to `leveldb::Options::Options()' 我在包含这些选项时没有遇到任何问题,在这个options.h文件中有一个显式声明的options()构造函数。/include
leveldb::Options options;
在顶部,我包含了相应的文件:
#include "leveldb/db.h"
#include "leveldb/options.h"
但当我编译时,我得到了:
undefined reference to `leveldb::Options::Options()'
我在包含这些选项时没有遇到任何问题,在这个
options.h
文件中有一个显式声明的options()
构造函数。/include/leveldb/options.h
不包含leveldb::Options::Options()
的实现,只包含声明(如您所说),因此链接将失败
/util/options.cc
包含它,您也需要编译它。明白了。我编译了它,并将-L lib添加到我的makefile中,整个leveldb项目都在lib目录中,但由于某种原因,它仍然不起作用。我还需要做些什么来链接它吗?你需要编译你使用的所有东西,而不仅仅是标题。对不起,无法给您进一步的输入。我只是通过谷歌搜索发现了这个问题;)除非你担心编译速度,否则我只编译整个leveldb项目。我确实编译了整个项目。我想我只是在连接上有点困难。无论如何,谢谢你的帮助!我想出来了。如果将来有人读到:我忘了Makefile中的-lleveldb。@RaidenWorley可以共享你的Makefile吗?我也有同样的问题。