Quiero agregar mi propia biblioteca para usar en la compilación de c, pero realmente no sé dónde ubuntu la almacena.
10.10
command-line
compiling
c
david25
fuente
fuente
Respuestas:
Según sus comentarios a su pregunta, creo que lo que realmente está preguntando es "¿Cómo instalo una biblioteca personalizada que escribí y dónde debo colocarla?"
En general, las cosas construidas localmente para otros usuarios en la máquina para el usuario se colocan en el árbol / usr / local. El archivo de encabezado debe ir a / usr / local / include. La biblioteca compilada debe ir a / usr / local / lib. El archivo .c no es parte de la biblioteca, es parte de la fuente y no es algo que normalmente no está instalado para el uso del usuario final. Necesitará acceso de root para colocar archivos en cualquiera de estas ubicaciones.
Para compilar la biblioteca, primero deberá compilar si desea una biblioteca estática o dinámica (compartida). Puede encontrar más información sobre cómo crear una biblioteca compartida en la sección 3.4, Creación de una biblioteca compartida en http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html . (También tienen recomendaciones sobre dónde colocar las cosas; la mayoría de los desarrolladores tendrán una opinión o tres :-))
fuente
Dependiendo de la biblioteca, ubuntu almacena sus bibliotecas principalmente en tres ubicaciones
Lo siguiente es del Estándar de Jerarquía del Sistema de Archivos
/ lib
/ usr / lib
/ usr / local / lib contiene bibliotecas locales, es decir, una específica para este sistema, pero no puedo encontrar referencias a / usr / local / lib en FHS, solo contiene una explicación para / usr / local.
fuente
Ubuntu sigue el estándar de jerarquía del sistema de archivos ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), las bibliotecas de aplicaciones regulares deben almacenarse en / usr / lib.
Tenga en cuenta que desarrollar / administrar bibliotecas no es un tema trivial, debe leer documentación más detallada, aquí hay un buen tutorial: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
fuente
Debes decirle al compilador dónde puede encontrar tu biblioteca. Supongamos que la ruta a su biblioteca es "/path/to/lib/libfoo.a", podría compilar y vincular su programa "hello.c" de esta manera:
Esto no es específico de Ubuntu, en realidad todos los compiladores de C que conozco admiten esos indicadores.
fuente
En Ubuntu se encuentran en
/usr/include
.fuente
/usr/include
. Los binarios reales para una biblioteca no se almacenan allí. Los encabezados pueden considerarse parte de una biblioteca, pero deben instalarse por separado y se usan para compilar programas que usan una biblioteca. Una vez que se ha compilado un programa que usa una biblioteca, ya no necesita ni usa los archivos de encabezado.