Como preparar a compilação de um programa que utiliza Qt4

Publicado por Leandro Santiago em 18/11/2007

[ Hits: 7.891 ]

Blog: http://leandrosan.wordpress.com

 


Como preparar a compilação de um programa que utiliza Qt4



Para quem não sabe, Qt4 é a mais nova versão da Toolkit desenvolvida pela TrollTech, e é famosa por ser a base de um dos ambientes gráficos mais utilizado no mundo: o KDE.

Com o desenvolvimento da versão 4 desta biblioteca, muitos aplicativos livres e não livres estão sendo escritos ou reescritos para a utilizarem. Um bom exemplo é o próprio KDE.

Mas os aplicativos que utilizam a versão 3 desta toolkit ainda são muito numerosos. Isso não chega a ser exatamente um problema, já que as duas versões da biblioteca podem coexistir no mesmo sistema, mas podem ocorrer alguns problemas na hora da compilação de algum programa que utilize a versão 4.

Neste caso, o processo de compilação muitas vezes é diferente daquele que estamos acostumados.

Como exemplo, utilizarei o programa Zhu3D, que é capaz de gerar gráficos e animações baseados em equações matemáticas. Utiliza também OpenGL, portanto tenha certeza de ter esta biblioteca corretamente instalada.

O código-fonte pode ser encontrado nesta página:
E o link direto:
Vamos ao processo de compilação em si. Descompacte o arquivo:

$ tar zxvf 43071-zhu3d-3.1.0.tar.gz

Entre no diretório criado:

$ cd zhu3d-3.1.0/

Agora entra parte diferente. Tenha certeza de estar com o pacote qt4 corretamente instalado. No meu caso, ele está em /opt/qt4.

Programas que utilizam Qt sabem onde esta está baseado numa variável do ambiente chamada QTDIR. Normalmente ela indica onde está a versão 3 da mesma. Se você deixá-la como está, a instalação falhará, pois o compilador tentará utilizar a versão 3, incompatível com a 4.

Para resolver este problema, defina esta variável para indicar a versão 4:

$ export QTDIR=/opt/qt4

Adicione também o diretório com os utilitários na sua variável PATH:

$ export PATH=$QTDIR/bin:$PATH

É importante adicionar que este diretório esteja na frente dos outros, para que o compilador não tente utilizar a versão 3, o que acarretará em erros.

O seguinte passo é opcional. Se você tiver instalado a Qt4 na sua pasta pessoal, por falta de privilégios de administrador, adicione o diretório $QTDIR/lib na sua variável LD_LIBRARY_PATH:

$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

No meu caso, como a instalação foi feita como root, bastou adicionar o diretório $QTDIR/lib no final do arquivo /etc/ld.so.conf.

# echo /opt/qt4/lib >> /etc/ld.so.conf

Em seguida:

# ldconfig

Agora sim, vamos compilar ;-)

$ qmake

Será gerado então um arquivo Makefile, que contém os comandos para que a compilação aconteça.

Em seguida, compile com o conhecido make:

$ make

Se tudo ocorrer bem, será gerado um binário chamado zhu3d. Este é o programa compilado. Para executá-lo:

$ ./zhu3d

Uma screenshot do programa em funcionamento, sem qualquer conflito com os programas do KDE, em qt3:



Onde encontrar estes programas?

Eu recomendo os sites:
Links:
Este processo foi testado na distribuição Slackware 12 com a versão 4.3.1 da biblioteca.

Lembrando que há casos de programas que utilizam o processo usual de compilação, como ./configure && make, e outros que utilizam sistemas próprios. O processo descrito aqui é o "genérico", quando não for especificado outro método.

Até a próxima.

Outras dicas deste autor

Criando e utilizando uma "biblioteca de funções"

Usando udev alternativo no Slackware 11

Obtendo CDs do Ubuntu no Brasil

Desligando o seu computador com o dedão do pé

Instalando programas no Linux sem ter poderes de root

Leitura recomendada

Conecte seu celular Nokia N70 ao Ubuntu

Unindo arquivos divididos pelo hjsplit/winrar no Linux

Atualização do conteúdo da certificação LPI I e II

Instalando o Linux OpenZaurus em um PDA Sharp Zaurus SL-5600

Pacotes proibidos do Mandrake!!!

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts