2013-02-14 4 views

risposta

190

Per generare una libreria condivisa è necessario prima compilare il codice C con il flag -fPIC (codice indipendente dalla posizione).

gcc -c -fPIC hello.c -o hello.o 

Questo genererà un file oggetto (.o), ora si prende e creare il file .so:

gcc hello.o -shared -o libhello.so 

EDIT: suggerimenti dai commenti:

È possibile utilizzare

gcc -shared -o libhello.so -fPIC hello.c 

per farlo in un unico passaggio. - Jonathan Leffler

Propongo inoltre di aggiungere -Wall per ottenere tutte le avvertenze, e -g per ottenere le informazioni di debug, ai comandi gcc. - Basile Starynkevitch

+1

È necessario eseguire gcc -c -fPIC blabla.c -o blabla.o prima, quindi il comando precedente. – dreamcrash

+33

Oppure 'gcc -shared -o libhello.so -fPIC hello.c' per farlo in un solo passaggio. –

+4

Suggerisco anche di aggiungere '-Wall' per ottenere tutti gli avvertimenti, e' -g' per ottenere informazioni di debugging, ai comandi 'gcc'. –

Problemi correlati