我用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 without building 100项目上手动使用fmt lib?

EIDT: dnf install output enter image description here

推荐答案

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

name-此软件包包含运行时共享库,这些库是运行与此库链接的程序所必需的.

name-devel-"devel"包包含头文件和符号链接,在开发使用该库的应用程序时,可以使用这些头文件和符号链接与共享库进行链接.

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

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

Linux相关问答推荐

我想强调某些条件是否与Linux中的全部输出匹配

IntelliJ(PyCharm)不再识别Linux中的AltGr快捷键

在c++编译期间,什么是linux命令,它给出了链接库的路径?

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

AWK+向AWK导出值未传递

奇怪的 Bash 脚本行为

在服务器目录之外启动 DolphinDB 服务器时出错

将特定列转换为行

将行转换为一条

为什么 printf 仍然可以使用低于 XMM 寄存器中 FP args 数量的 RAX?

如何将通配符参数传递给 bash 文件

CHMOD 755 与 750 权限集之间的差异

关于 putenv() 和 setenv() 的问题

crontab 命令单独一行

如何下载较旧的 google play 服务?

Anaconda:禁用提示更改

在 shell 脚本的 for 循环中迭代行而不是单词

使用 Bash 查找和复制文件

Linux:处理成服务

仅当文件存在于 shell 脚本中时才移动