C++ fmt 库不工作

C++ fmt 库不工作

大家好,我是一名 C++ 初学者,我刚刚发现 fmt 库非常有趣。但是我在尝试使用它时遇到了一个问题。我使用 homebrew 安装了 fmt 库brew install fmt。我使用检查了 fmt 安装apt-file search /usr/include/fmt/format.,然后它返回了错误libfmt-dev: /usr/include/fmt/format.h。我尝试构建一个示例项目来测试它,如下所示:

#include <fmt/format.h>

int main() {
  fmt::print("The answer is {}.\n", 42);
}

在我尝试使用 gcc11 来遵守它之后,它返回了

/home/linuxbrew/.linuxbrew/bin/ld: /tmp/ccmrL6RH.o: in function `void fmt::v8::print<int>(fmt::v8::basic_format_string<char, fmt::v8::type_identity<int>::type>, int&&)':
/home/linuxbrew/.linuxbrew/include/fmt/core.h:3209: undefined reference to `fmt::v8::vprint(fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >)'
collect2: error: ld returned 1 exit status

说实话我不明白这是什么问题...语法看起来不错,编译器和 IDE 也没有问题。你能帮我吗?提前谢谢。

更新:@steeldriver 告诉我这是因为 fmt 库没有链接。所以我在文件中添加了一些命令tasks.json

...
 "tasks": [
        ...
        "args": [
            ...
            "-lfmt", "-L~/usr/include/fmt"
        ]
]
...

/usr/include/fmt是 fmt lib 的路径。@steeldriver 推荐了此参考https://stackoverflow.com/questions/49486880/how-to-link-fftw3-libraries-for-c-in-vs-code-in-ubuntu

相关内容