Я пытаюсь использовать библиотеку spdlog в привет мире.
#include "spdlog/spdlog.h"
int main()
{
return 0;
}
Поскольку это библиотека только для заголовков, я просто скопировал ее в корень моего проекта и ожидал, что все будет работать.
|+ hello.cpp
|+ spdlog |
|+ spdlog.h
|+common.h
.....
но когда я строю gcc hello.cpp
Я получил:
spdlog/spdlog.h:10:10: fatal error: spdlog/common.h: No such file or directory
#include "spdlog/common.h"
Проблема в том, что везде в библиотеке spdlog есть ссылки на файлы в папке spdlog. В приведенном выше примере ошибки spdlog.h включает файл common.h, который находится в той же папке. Но это включено так:
#include "spdlog/common.h"
Почему «spdlog» добавляется во всех включениях ко всем заголовкам?
Что я должен сделать, чтобы использовать spdlog? редактировать его включает?
Так как путь к вашим заголовочным файлам — spdlog / .h, поэтому вы должны указать путь к вашей папке spdlog. лайк
gcc -c -I/<Path of spdlog parent folder> hello.cpp
Других решений пока нет …