2009-11-10 3 views

Antwort

42
cc -o yourprog yourprog.c -lstatic 

oder

cc -o yourprog yourprog.c libstatic.a 
+0

Ich habe versucht, die zweite und es funktioniert. Vielen Dank. Ich könnte auch in der Lage sein, für code :: blocks zu arbeiten, um auch zu arbeiten. :-) – root

7

Sie sollten #include "libstatic.h", dh verwenden Sie die entsprechende Header-Datei in Ihrem Code (dass ist, warum doesn Code‘ t kompilieren) und den Pfad zu Ihrem libstatic.a in den Linker-Optionen als eine Ihrer Eingabebibliotheken einschließen.

Diese webpage hat einige Beispiele zum Verknüpfen mit einer statischen Bibliothek, z.B.

gcc -I. -o jvct jvct.c libjvc.a 
+0

Ihnen danken. Schließlich habe ich es auf Codeblocks gemacht und ich fand heraus, dass #include .h-Datei nicht den gleichen Namen wie die .a-Datei benötigt. – root

2

Ich hatte den Bibliothekspfad in meiner Make-Datei zu setzen. Für diesen Fall könnten Sie verwenden:

gcc -o myapp main.c -L. -lstatic 
1
gcc -I. -o jvct jvct.c libjvc.a 
0

rein statisch zu verknüpfen, verwenden -static

cc -static yourprogram.c libstatic.a 
+0

Beachten Sie, dass dies dazu führt, dass der Compiler mit _all_ Bibliotheken, einschließlich libc, statisch verknüpft und statisch verknüpfte Binärdateien erzeugt. Es könnte sein, was du willst (oder nicht). – WGH

Verwandte Themen