Pular para o conteúdo

Dynamic libraries com libtool

Este artigo tem como objetivo dar uma pequena noção de como utilizar a ferramenta libtool para gerar uma biblioteca dinâmica, os famosos libalgumacoisa.so. Isso permite que você linke várias funções que são usadas em vários códigos numa mesma biblioteca.
Perfil removido removido
Hits: 24.544 Categoria: C/C++ Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

O Makefile

Caros, achei mais fácil usar um Makefile como base para discutirmos o andamento de cada passo da compilação e link. Não irei me aprofundar muito, mas minha base de estudos se encontra em:
Mãos à obra então. Segue o Makefile que iremos trabalhar:

OBJECTS=fonte1.o fonte2.o

all:
   @for x in *.c ; do echo "    [CC] $$x -> `basename $$x .c`.o" ;libtool --silent --mode=compile gcc -c $$x; done
   @echo "    [LD] ${OBJECTS} -> libteste.la"
   @libtool --silent --mode=link gcc -export-dynamic -no-undefined -rpath /usr/local/lib -o libteste.la *.lo

clean:
   @rm -f *.o *~ *.lo *.la

install:
   @libtool --silent --mode=install cp libast.la /usr/local/lib
   @cp ast.h /usr/local/etc

uninstall:
   @libtool --silent --mode=uninstall rm -f /usr/local/lib/libteste*
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Nele percebemos 4 seções, all, clean, install, e uninstall.
  • na seção all é onde estão as regras que serão executadas ao comando 'make' no console;
  • clean serve para removermos os arquivos compilados, deixando apenas os fontes.c;
  • install contém regras para a instalação;
  • e uninstall para a desinstalação.

Outro ponto importante é o fato de todas as linhas começarem com @. Isso faz com que o make não apresente saída padrão.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. O Makefile
   2. Regras para compilação e link
   3. Instalação
   4. Usando a biblioteca

Gmail com POP e SMTP no Thunderbird

Gravando vídeo com placa de TV através do transcode

Sudoers 1.8.12 - Parte II - Manual

5 fatores (subjetivos) que tornam o software proprietário insustentável para as micro, pequenas e médio empresas

Interagindo com servidores HTTP com Python

Tutorial OpenGL v3.0

SDL e C - Uma dupla sensacional

Criando aplicativos para o iPhone no Linux (sem Xcode e MacOS X)

Desenvolvendo aplicativo para autenticação biométrica utilizando a Libfprint

Algum humor e C++ Design Patterns (parte 1)

#1 Comentário enviado por balani em 27/07/2007 - 17:28h
Muito bom, parabens. seu artigo dá uma otima noção.
#2 Comentário enviado por sombriks em 29/07/2007 - 01:25h
é sim, pra pegar o nome da libe é só cortar fora o "lib" e o ".la | .so". Tá no pdf do brian cough.

Contribuir com comentário

Entre na sua conta para comentar.