你如何在 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
包。
我使用 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
包。