我使用dnf install fmt
安装了fmt
。安装成功。但当我尝试将其用作#include <fmt/format.h>
时,它却说找不到它。我从fmt git页面下载了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上找不到这种类型的使用的任何帮助。
如何在CentOS9**上使用fmt
库而不手动构建fmt
**项目?
EIDT:dnf安装输出
1条答案
按热度按时间c3frrgcw1#
Fedora/RHEL/CentOS对所有安装了共享库的软件包使用以下命名约定:
name-此软件包包含运行时共享库,运行与此库链接的程序时需要这些库。
name
-devel
-“devel”包包含头文件和符号链接,在开发使用共享库的应用程序时,可以使用这些文件和符号链接来链接该库。您需要两个包来编译使用库的代码。
devel
包指定了对主包的依赖关系,因此dnf install name-devel
将安装这两个包。你应该花一点时间学习如何构建你自己的
rpm
包。它并不复杂。当你构建你的包时,rpmbuild
会负责分析生成的二进制文件,发现它链接到哪些共享库,然后在你自己的rpm
包中记录相应的依赖关系,所以安装它只会拉入主name
包。