Instalé fmt usando dnf install fmt . Fue un exito. Pero cuando trato de usarlo como #include <fmt/format.h> dice que no se encuentra. Descargué include de la página fmt git para que encuentre format.h ahora con -I... pero tengo errores de compilación.
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 Intenté -lfmt pero falla con
/usr/bin/ld: cannot find -lfmtNo puedo encontrar ninguna ayuda para este tipo de uso en el git.
¿Cómo se usa fmt lib en CentOS9 sin construir el proyecto fmt manualmente?
Fedora/RHEL/CentOS usa la siguiente convención de nomenclatura para todos los paquetes que instalaron bibliotecas compartidas:
nombre : este paquete contiene bibliotecas compartidas en tiempo de ejecución que se necesitan para ejecutar programas que están vinculados con esta biblioteca.
nombre -devel : los paquetes "devel" contienen archivos de encabezado y enlaces simbólicos que le permiten vincularse con la biblioteca compartida al desarrollar aplicaciones que usan esta biblioteca.
Necesita ambos paquetes para compilar el código que usa la biblioteca. El paquete de desarrollo especifica una dependencia del paquete principal, por lo que dnf install name-devel devel ambos paquetes.
Debería invertir un poco de tiempo para aprender a construir sus propios paquetes rpm . No es tan complicado. Cuando construya su paquete, rpmbuild se encargará de analizar el binario resultante, descubrirá con qué bibliotecas compartidas se vincula y luego registrará la dependencia adecuada en su propio paquete rpm , por lo que la instalación extraerá solo el paquete de name principal.