我使用fmt安装了dnf install fmt。成功了。但是当我尝试使用它作为#include <fmt/format.h>时,它说它是找不到的。我从fmt页面下载了include,所以它现在用-I...找到了format.h,但是我有编译错误。
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上找不到这种用途的任何帮助。
如何在不手动构建fmt项目的情况下在CentOS9 上使用库?
EIDT: dnf安装输出

发布于 2022-04-10 15:06:58
Fedora/RHEL/CentOS对所有安装共享库的包使用以下命名约定:
名称-此包包含运行与此库链接的程序所需的运行时共享库。
name-devel -- "devel“包包含头文件和符号链接,这些链接允许您在开发使用此库的应用程序时与共享库链接。
您需要这两个包来编译使用库的代码。devel包指定主包的依赖项,因此dnf install name-devel将安装这两个包。
您应该花一点时间学习如何构建自己的rpm包。没那么复杂。当您构建包时,rpmbuild将负责分析生成的二进制文件,发现它与哪些共享库链接,然后在您自己的rpm包中记录适当的依赖关系,因此安装它将只引入主name包。
https://stackoverflow.com/questions/71816931
复制相似问题