programacion - ¿Cómo enlazar a una biblioteca estática en C?
libreria estatica y dinamica c++ (5)
Uso code :: blocks para compilar mi biblioteca estática. El resultado de salida es un archivo libstatic.a. Ahora, ¿cómo puedo enlazar a mi biblioteca para usar funciones compiladas?
(Traté de usar #include "libstatic.a" pero mi proyecto no se compila)
Debe #include "libstatic.h"
, es decir, usar el archivo de encabezado apropiado en su código ( por eso no compila el código) e incluir la ruta a su libstatic.a
en las opciones del enlazador como una de sus bibliotecas de entrada.
Esta webpage tiene algunos ejemplos de enlaces a una biblioteca estática, por ejemplo,
gcc -I. -o jvct jvct.c libjvc.a
Para enlazar puramente estáticamente, use -static
cc -static yourprogram.c libstatic.a
Tuve que establecer la ruta de la biblioteca en mi makefile. Para este caso podrías usar:
gcc -o myapp main.c -L. -lstatic
cc -o yourprog yourprog.c -lstatic
o
cc -o yourprog yourprog.c libstatic.a
gcc -I. -o jvct jvct.c libjvc.a