Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Resident Evil
Por percival
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Compilando Allegro no Linux
Linux user
Publicado por Ivan S. Rodrigues em 11/01/2011

Login: isrodrigues, 9963 pontos
[ Hits: 4698 ]

Compilando Allegro no Linux

Caros colegas,

Migrando uma aplicação em C que utiliza a biblioteca Allegro do Windows para o Linux me deparei com uma grande diferença entre as duas plataformas.

A compilação, no Windows, muito provavelmente tu abre teu DevC++ adiciona aos parâmetros de compilação a entrada "-lalleg", aplica, tu manda compilar e... beleza foi pra conta do Papa.

Já no Linux, tu chega animadão, cheio de amor pra dar, manda seu "gcc -Wall <arquivo.c> -o programa -lalleg", e vem a decepção, um monte de referências indefinidas... recorremos ao guru Google e encontramos um monte de workarounds, pogs ou qualquer outro nome bonitinho e meigo pra boa e velha gambiarra, e todos eles tem em comum o comando `allegro-config --cflags` `allegro-config --libs` como parâmetros de compilação, alguns variam pra `allegro-config --cflags --libs`mas, em suma, tudo a mesma linda e elegante solução não documentada e engenhosa.

Não satisfeito, fui atrás, li, reli, rezei, fiz promessa, até que fui iluminado com a ideia a seguir, partindo do principio como as outras bibliotecas funcionam, e o resultado é o seguinte nobres colegas.

Como root ou sudo:

# cd /usr/lib
# ln -s liballeg-4.2.2.so liballeg.so

Pronto, teste agora com teu código fonte:

$ gcc -Wall <arquivo.c> -o programa -lalleg

... inacreditável, não? O famoso -lalleg funcionou.

Desde então durmo em paz comigo mesmo. Uma gambiarra a menos no mundo.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Ebook - Advanced Linux Programming
   Dica Linux recomendada Conheça o BRTOS
   Dica Linux recomendada Compiladores C/C++ e Fortran
   Dica Linux recomendada Livro de programação de jogos Linux de graça
   Dica Linux recomendada Compilando em um Cluster Linux

Comentários
[1] Comentário enviado por sombriks em 14/01/2011 - 00:16h:

ei, bacana a dica!

Se você executar o "allegro-config --cflags --libs" sem as aspas, ele entrega o ouro: ele dá os caminhos onde o gcc deve esperar encontrar o allegro, e ele fina entre os apóstrofos pra fazer a saída do comando ser parte do outro.

Estes scripts *-config são clássicos do mundo gcc, existe inclusive o pkg-config que é um geralzão que unificou esses scripts todos, muitas bibliotecas tem ele.

Jogar no /usr/lib é jogar no caminho de busca padrão do ld, por isso fica limpa e elegante a linha de linkedição.

por fim, quero ver os exemplos rolando co m allegro, :D


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.