你如何在 CentOS9 上使用 C++ fmt?

How do you use C++ fmt on CentOS9?

我使用 dnf install fmt 安装了 fmt。它是成功的。但是当我尝试将它用作 #include <fmt/format.h> 时,它说找不到。我从 fmt git 页面下载了 include,所以它现在发现 format.h-I... 但我有编译错误。

undefined reference to `fmt::v8::vformat[abi:cxx11](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

我试过 -lfmt 但它出错

/usr/bin/ld: cannot find -lfmt

我在 git.

上找不到有关此类使用的任何帮助

如何在 CentOS9 上使用 fmt lib 而无需手动构建 fmt 项目?

EIDT:dnf 安装输出

Fedora/RHEL/CentOS 对安装共享库的所有包使用以下命名约定:

name - 此软件包包含 运行 时间共享库,运行 程序需要 link 使用此库编辑。

name-devel - “devel”包包含头文件和符号 links 允许你 link开发使用此库的应用程序时共享库。

您需要这两个包来编译使用该库的代码。 devel 包指定了对主包的依赖,因此 dnf install name-devel 将安装这两个包。

您应该花一点时间学习如何构建自己的 rpm 包。没那么复杂。当你构建你的包时 rpmbuild 将负责分析生成的二进制文件,发现它 link 与哪些共享库,然后在你自己的 rpm 包中记录适当的依赖关系,因此安装它将只引入主 name 包。