una programacion librerías librerias libreria lenguaje estatica entre dinámicas dinamica diferencia dev desarrolladas crear crea con compilar como clases biblioteca c build compilation static-libraries

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