I installed fmt
using dnf install fmt
. It was successful. But when I try to use it as #include <fmt/format.h>
it says it is not found. I downloaded include
from fmt git page so it finds format.h
now with -I...
but I have compilation errors.
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
I tried -lfmt
but it errors with
/usr/bin/ld: cannot find -lfmt
I cant find any help for this type of use on the git.
How do you use fmt
lib on CentOS9 without building fmt
project manually?
CodePudding user response:
Fedora/RHEL/CentOS uses the following naming convention for all packages that installed shared libraries:
name - this package contains runtime shared libraries that are needed to run programs that are linked with this library.
name-devel
- the "devel" packages contains header files and the symbolic links that allow you to link with the shared library when developing applications that use this library.
You need both packages to compile the code that uses the library. The devel
package specifies a dependency on the main package, so dnf install name-devel
is going to install both packages.
You should invest a little bit of time to learn how to build your own rpm
packages. It's not that complicated. When you build your package rpmbuild
will take care of analyzing the resulting binary, discovering which shared libraries it links with, then recording the appropriate dependency in your own rpm
package, so installing it will pull in only the main name
package.