我想編譯一個使用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」'的原因當然是很多庫都有這樣的文件。 –