Biblioteca Compartilhada

1. Biblioteca Compartilhada

Carolini
carolini

(usa Ubuntu)

Enviado em 22/01/2013 - 11:11h

Olá gostaria de uma ajuda pra criar e usar uma biblioteca compartilhada ...estava seguindo esse site http://augustocampos.net/revista-do-linux/005/bibliotecas.html mas dá erro pois aparece :

Erro ao tentar usar a biblioteca dinâmica

libMinhaLib.so.1.0: cannot open shared object file: No such file or directory




  


2. Re: Biblioteca Compartilhada

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/01/2013 - 11:19h

os arquivos estão no mesmo diretório?

Tente isso:

Compila biblioteca
$ gcc -fPIC -o <nome_biblioteca>.o -c <nome_biblioteca>.c

Compila o programa
$ gcc -o <nome_programa> -L. -l<nome_biblioteca> -ldl


3. Re: Biblioteca Compartilhada

Carolini
carolini

(usa Ubuntu)

Enviado em 22/01/2013 - 11:43h


Deu isso:

root@carolini-S425-G-BC32P1:/home/carolini# gcc -o Testeproc.c -L. - libMinhaLib.so.1.0 -ldl

gcc: erro: -E ou -x são necessários quando a entrada for a padrão



4. Re: Biblioteca Compartilhada

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/01/2013 - 11:52h

Desculpe, errei um parametro

gcc -o <nome_programa_saida> <nome_programa>.c -L. -l<nome_biblioteca> -ldl

-o Arquivo de saida

-L indica diretorio para pesquisa de biblioteca
-l inclui tua biblioteca

tente novamente


5. Re: Biblioteca Compartilhada

Carolini
carolini

(usa Ubuntu)

Enviado em 22/01/2013 - 12:09h


Apareceu isso:

root@carolini-S425-G-BC32P1:/home/carolini# gcc -o TesteProc TesteProc.c -L. -libMinhaLib.so.1.0 -ldl


/usr/bin/ld: cannot find -libMinhaLib.so.1.0
collect2: ld returned 1 exit status



6. biblioteca estática

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/01/2013 - 12:13h

Caso queira usar estática:


Compilar biblioteca:
$ gcc -fPIC -c -o <nome_biblioteca>.o <nome_biblioteca>.c
$ ar rc lib<nome_biblioteca>.a <nome_biblioteca>.o
$ ranlib lib<nome_biblioteca>.a

Agora só compilar o programa e linkar
$ gcc -o <nome_programa> <nome_programa>.c -L. -l<nome_biblioteca> -ldl



7. Re: Biblioteca Compartilhada

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/01/2013 - 12:15h

carolini escreveu:


Apareceu isso:

root@carolini-S425-G-BC32P1:/home/carolini# gcc -o TesteProc TesteProc.c -L. -libMinhaLib.so.1.0 -ldl


/usr/bin/ld: cannot find -libMinhaLib.so.1.0
collect2: ld returned 1 exit status


Não está gerando a biblioteca ou o nome está incorreto.
O que retorna com o ls -l ?



8. Re: Biblioteca Compartilhada

Carolini
carolini

(usa Ubuntu)

Enviado em 22/01/2013 - 12:17h



root@carolini-S425-G-BC32P1:/home/carolini# ls -l
total 3024
drwxr-xr-x 20 carolini carolini 4096 Jan 2 23:45 Área de trabalho
drwxr-xr-x 3 carolini carolini 4096 Jan 19 22:25 Área de Trabalho
drwxr-xr-x 3 carolini carolini 4096 Dez 2 14:30 Artigo
drwxrwxr-x 2 carolini carolini 4096 Out 1 17:56 Audiobooks
drwxrwxr-x 3 carolini carolini 4096 Set 4 23:04 Classificacao_de_graos_de_polen
drwxr-xr-x 3 carolini carolini 4096 Ago 22 22:31 core
drwxr-xr-x 20 carolini carolini 4096 Jan 22 10:59 Documentos
drwxr-xr-x 21 carolini carolini 12288 Jan 19 22:37 Downloads
drwx------ 6 carolini carolini 4096 Jan 22 11:32 Dropbox
drwxr-xr-x 9 carolini carolini 4096 Jan 13 23:52 Imagens
drwxr-xr-x 8 carolini carolini 4096 Set 24 23:38 jdk1.7.0_09
-rw-r--r-- 1 root root 0 Jan 22 11:26 -L.
-rw-r--r-- 1 root root 0 Jan 22 11:26 -ldl
drwxr-xr-x 5 root root 4096 Jan 21 09:55 lib
-rwxr-xr-x 1 root root 6608 Jan 22 11:24 libMinhaLib.so.1.0
-rw-rw-r-- 1 carolini carolini 394 Jan 21 09:36 MinhaLib.c
-rw-rw-r-- 1 carolini carolini 389 Jan 21 09:34 MinhaLib.c~
-rw-r--r-- 1 root root 1460 Jan 22 11:36 MInhalib.o
drwxr-xr-x 2 carolini carolini 4096 Ago 4 05:38 Modelos
drwxr-xr-x 4 carolini carolini 4096 Set 5 18:42 Música
drwxrwxr-x 9 carolini carolini 4096 Jan 19 23:15 NetBeansProjects
drwx------ 13 carolini carolini 4096 Ago 16 22:23 OpenCV-2.4.1
drwxrwxr-x 11 carolini carolini 4096 Out 3 18:07 Programas
drwxr-xr-x 5 carolini carolini 4096 Jan 20 00:25 Público
drwxrwxr-x 8 carolini carolini 4096 Jan 12 23:42 svn
-rw-r--r-- 1 root root 927 Jan 22 11:58 TesteProc.c
-rw-r--r-- 1 root root 926 Jan 22 11:55 TesteProc.c~
drwxrwxr-x 2 carolini carolini 4096 Jan 20 18:56 Testes
-rw-rw-r-- 1 carolini carolini 2964978 Jan 20 00:14 Testesoriginal.arff
drwxrwxr-x 2 carolini carolini 4096 Ago 5 08:47 Ubuntu One
drwxr-xr-x 4 carolini carolini 4096 Nov 30 22:21 Vídeos
drwxrwxr-x 2 carolini carolini 4096 Jan 12 21:32 workspace
root@carolini-S425-G-BC32P1:/home/carolini#



9. Re: Biblioteca Compartilhada

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 22/01/2013 - 12:26h

Siga este link, esta funcionando bem:

http://www.las.ic.unicamp.br/~felipe/plh/Program-Library-HOWTO/x36.html


10. Re: Biblioteca Compartilhada

???
gokernel

(usa Linux Mint)

Enviado em 22/01/2013 - 21:05h

primeiro:
para o utilizar o arquivo ( alguma_coisa.so ) NA MESMA PASTA o OS precisa esta cofigurado em ( /etc/ld.so.conf ) ...

segundo:
ou copie o arquivo.so para a pasta: /usr/lib ou /lib

OBS: é importante deixar com o nome com algo similar ( alguma_coisa_bla_bla.so ). ,..lembrando: .so


11. Re: Biblioteca Compartilhada

???
gokernel

(usa Linux Mint)

Enviado em 22/01/2013 - 21:22h

tente renomear o arquivo e compile assim:

gcc -o TesteProc TesteProc.c libMinhaLib.so -ldl


12. Re: Biblioteca Compartilhada

Carolini
carolini

(usa Ubuntu)

Enviado em 22/01/2013 - 22:23h


obrigada pessoal mas continuo com esse erro ...

libMinhaLib.so: cannot open shared object file: No such file or directory




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts