cmake включает в себя только библиотеку заголовков

Я хочу включить spdlog в один из моих проектов. Это библиотека только для заголовков. Проект, который я строю, использует cmake. В настоящее время я использую

include_directories('src/logger/spdlog/')

в Cmake и в том числе в библиотеке

#include <spdlog/spdlog.h>

в logs.h внутри папки логгера. Я получаю фатальную ошибку, нет такого файла или каталога. Как правильно включить ту же библиотеку в моем приложении.

1

Решение

Во-первых, не используйте одинарные кавычки ' но двойные кавычки " или просто строки, если они не содержат пробелов.

Я бы посоветовал вам использовать find_path вместо добавления включает напрямую. Там вы можете добавить PATH_SUFFIXES, Во время настройки вы получаете сообщение, если заголовок не найден, что облегчает обнаружение ошибок.
Документация: https://cmake.org/cmake/help/v3.6/command/find_path.html

1

Другие решения

Вы, вероятно, не в одном каталоге. Попробуйте либо

 include_directories("src/logger")

в CMakeLists.txt, или же

 #include <spdlog.h>

в исходном коде.

4

По вопросам рекламы [email protected]