web-dev-qa-db-fra.com

Comment créer un lien vers une bibliothèque statique en C?

J'utilise code :: blocks pour compiler ma bibliothèque statique. Le résultat en sortie est un fichier libstatic.a. Maintenant, comment puis-je créer un lien vers ma bibliothèque pour utiliser les fonctions compilées? 

(J'ai essayé d'utiliser #include "libstatic.a" mais mon projet ne compile pas) 

28
hdn
cc -o yourprog yourprog.c -lstatic

ou

cc -o yourprog yourprog.c libstatic.a
46
dajobe

#include "libstatic.h", c’est-à-dire utiliser le fichier d’en-tête approprié dans votre code (c’est pourquoi votre code ne compile pas) et inclure le chemin de votre libstatic.a dans les options de l’éditeur de liens comme l’une de vos bibliothèques d’entrée.

Cette page Web contient quelques exemples de liens vers une bibliothèque statique, par exemple.

gcc -I. -o jvct jvct.c libjvc.a
7
Jacob

Je devais définir le chemin de la bibliothèque dans mon fichier makefile. Pour ce cas, vous pouvez utiliser:

gcc -o myapp main.c -L. -lstatic
2
pseudomuto
gcc -I. -o jvct jvct.c libjvc.a
2
HMS

Pour lier de manière purement statique, utilisez -static

cc -static yourprogram.c libstatic.a
0
M.S Chaudhari