Gå til innhold

lage bibliotek under linux


Anbefalte innlegg

Hvordan kan eg lage mitt egent biblitek under linux.?

 

Dersom eg har en cpp fil som inneholder en standard helloWorld() så skulle det vel gå å lage et bibliotek av denne.

 

Slik at eg kan lage et annet program

 

#include <hello.h>

 

main(){

Hello();

}

 

 

Og dette kompileres vel da noe slik:

gcc test.cpp -o prog -lhello

 

 

Men lurer på hvordan biblioteket kan lages?

Lenke til kommentar
Videoannonse
Annonse

Hmmm... dette er så lenge siden. Men statisk bibliotek trodde jeg man kunne lage slik....

 

$ gcc -c hello.c

$ ar r libtest.a hello.o

$ gcc -L ./ -ltest main.c -o test

/tmp/ccIVa2a0.o: In function `main':

main.c:(.text+0x12): undefined reference to `hello'

collect2: ld returned 1 exit status

 

Men dette funker:

$ gcc hello.o main.c -o test

$ ./test

Hello world

 

main.c

void hello();

int main(){
hello();
return 0;
}

 

hello.c

#include <stdio.h>

void hello(){
 puts("Hello world");
}

Endret av JBlack
Lenke til kommentar

Eventuelt kan du gjøre det enkelt ved å bruke SCons.

 

SConstruct-fil:

env = Environment()
env.SharedLibrary('mittbibliotek', ['jabba.cpp', 'dabba.cpp', 'doo.cpp'])

 

$ scons

Dette lager et delt bibliotek ved navnet mittbibliotek.so. Eventuelt kan man bruke "env.StaticLibrary(...)" hvis man vil ha et statisk bibliotek.

Lenke til kommentar
Eventuelt kan du gjøre det enkelt ved å bruke SCons.

 

SConstruct-fil:

env = Environment()
env.SharedLibrary('mittbibliotek', ['jabba.cpp', 'dabba.cpp', 'doo.cpp'])

 

$ scons

Dette lager et delt bibliotek ved navnet mittbibliotek.so. Eventuelt kan man bruke "env.StaticLibrary(...)" hvis man vil ha et statisk bibliotek.

8438881[/snapback]

 

sCons ser jo kjempebra ut :)

Lenke til kommentar
Det er kjempebra. :)

Ganske stilig hvordan SConstruct-fila mer eller mindre er et Python skript også. (Nesten ihvertfall). Heh.

 

http://www.scons.org hvis du ikke allerede har vært innom der..

8441039[/snapback]

 

Var den sida eg søkte opp ;)

Får ta og oppdatere makefiler for openGL scengraf prosjektet mitt etter hvert.

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...