2017-04-12 60 views
0

我正在嘗試在我們的項目中使用leveldb。我的選擇是我班的一個成員使用未定義的引用leveldb選項

leveldb::Options options; 

在頂部聲明我包括相應的文件:

#include "leveldb/db.h" 
#include "leveldb/options.h" 

但是我編譯時得到這樣的:

undefined reference to `leveldb::Options::Options()' 

我包括這些在內沒有任何問題,並且在那個options.h文件中有一個明確聲明的Options()構造函數。

回答

0

/include/leveldb/options.h

不包含leveldb::Options::Options()的實現,只是聲明(如你所說),因此鏈接將會失敗。

/util/options.cc包含它,你需要編譯它。

+0

Gotcha。我編譯了它,並且將-L lib添加到了我的makefile中,並且我在lib目錄中有了整個leveldb項目,但由於某些原因,它仍然無法工作。有什麼我必須做的鏈接它? –

+0

你必須編譯你使用的所有東西,而不是隻有頭文件。對不起,不能給你進一步的意見。我只是通過Google搜索找到了這個問題;)我只是編譯整個leveldb項目,除非我很擔心編譯速度 – lars

+0

那麼我編譯整個項目。我想我只是無法鏈接它。無論如何,感謝您的幫助! –