通过复制 include 目录的内容来安装 spdlog

Installing spdlog by copying contents of include directory

我正在尝试将 spdlog 用作日志记录库,但我不想使用我的包管理器 (apt) 来安装它。我已经将 include 下的 spdlog 目录复制到我的项目目录的根目录下,但是当我尝试编译时出现 include 错误,因为 spdlog headers 中的 #include 指令都是绝对的(相对于项目根),而不是相对的,gcc 找不到文件。

0:10: fatal error: spdlog/common.h: No such file or directory
 #include "spdlog/common.h"

如果不将spdlog 库中的所有include 更改为相对的,我如何在我的项目中使用spdlog?我也在使用 CMake 来编译我的项目;我的项目根目录中有一个 build 目录,我在其中调用 cmake .. 然后 make 进行编译;有什么我需要添加到我的 CMakeLists.txt 文件以包含 spdlog 吗?

你需要将项目根目录添加到cmake中include_directories,像这样:

include_directories(
    /absolute/path/
)

或者在项目根目录中,编辑CMakeLists.txt并添加:

include_directories(
    .
)