我正在尝试在hello世界中使用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

07-25 20:35