Gå til innhold

Hvordan lage et c bibliotek ?


Anbefalte innlegg

Spurte om dette på slutten i en annen tråd, men får det ikke helt til. Har googlet som en helt og men ikke funnet noe(som hjelper).

Jeg har disse filen, som ligger i en en mappe, 'program01'

 

main.c

mitt.h

mitt.c

 

I main.c har jeg en #include "mitt.h", og jeg kan kompilere det hele med:

 

cc -o program01 main.c mitt.c

 

Det er greit, men om jeg så skal lage program02 må jeg kopier 'mitt.h' og 'mitt.c'(egentlig mange flere) til en ny mappe 'program02', osv for program03 og program04...

Jeg vil gjerne kunne kompilere alle programmene mine med en komando ala dette(uansett hvor programmet mitt måtte ligge):

 

cc -o program main.c (pluss en -I flag hvis jeg har lagt biblioteket mitt et ikkestandard sted)

 

Håper dere skjønner hva jeg mener!!

Lenke til kommentar
Videoannonse
Annonse

hellu, jeg har akuratt lært meg noe av C, holder på med heeelt grunnleggende i C.. men de jeg har fått med meg så langt er, vist du skal ha #include xxx.c/h så må du lage ett prosjekt der du legger inn alle filene, så skriver du #include xxx.c/h (alt ettersom du skal bruke) og lagrer prosjektet på en ny fil.. dermed har du fått inn disse filene...

 

men de er sånn JEG har skjønt de så langt i mitt programmerings liv :p

Lenke til kommentar

Har svart på dette i en annen tråd, men for lat til å lete opp det. Uansett. Regner med at det er snakk om Linux, det du gjør her er å skrive:

gcc -shared mitt.c -o libmitt.so

Da har du et dynamisk lastbart bibliotek libmitt.so som du kan plassere i en katalog som befinner seg i linkerens søkesti, f.eks /usr/lib, mitt.h kan du plassere i /usr/include. Dermed kan du kompilere main.c og linke inn "mitt" slik:

gcc main.c -o program -lmitt

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...