Я пытаюсь скомпилировать программу, использующую rockdb.
Согласно примеру на официальной веб-странице, единственный заголовок, который я должен добавить в свой код, — это 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, так что компилятор не может найти ни одной папки с rockdb. Но я сомневаюсь, что люди, которые написали эту библиотеку, этого не знают.
Есть ли другой способ добавить путь для его компиляции? Почему путь от db.h не относится к тому месту, где он находится?
#include "metadata.h"
, конечно же, в том, что такой файл есть во многих библиотеках. - person Bo Persson   schedule 01.09.2015