Compilação estática em C++ e QT no Linux

Após um post informando como efetuar a compilação do QT para utilização das bibliotecas estáticas no Windows, vamos agora efetuar compilação para ao Linux [Testado no Kubuntu 9.04 e LinuxMint 7].



1 - Efetue a instalação do seguintes pacotes via APT



[sourcecode language="cpp"]
$ sudo apt-get install libx11-dev libfreetype6-dev libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev build-essential
[/sourcecode]


2 - Execute ./configure com os seguintes parâmetros



[sourcecode language="cpp"]
$ sudo ./configure -static -release -nomake demos -nomake examples -nomake tools
[/sourcecode]


3 - Execute o make e o make install



[sourcecode language="cpp"]
$ sudo make ; sudo make install
[/sourcecode]

4 - Configure o makefile do seu projeto adicionando as seguinte linha no arquivo .pro



[sourcecode language="cpp"]
CONFIG += static
[/sourcecode]

 



OBS: Caso ocorra algum erro há algumas dicas nesse link http://www.sistemasparalinux.com.br/Compilar_Qt_Debian.html



<a href="http://twitter.com/home?status=Currently reading " title="Click aqui para enviar esse post ao Twitter!" target="_blank">Compartilhe no Twitter

Compilação estática em C++ e QT no Windows

Para adicionar as bibliotecas estáticas aos programas gerados em C++ e QT é necessário recompilar o QT, pois o que é instalado por padrão utiliza as bibliotecas dinâmicas, dificultando assim a distribuição do aplicativo.




  1. Set as variáveis de ambiente include e lib.

    • No menu "Iniciar", selecione a opção "Painel de controle";

    • Acesse o item "Sistema";

    • Selecione a guia "Avançado";

    • Acesse "Variáveis de ambiente", e no campo Variáveis do Sistema acesse "Nova"

    • Cria duas variáveis, uma INCLUDE e o outra LIB

      • Na variável INCLUDE adicione a seguinte linha no campo "Valor da variável"


      C:\Qt\mingw\include


      • Na variável LIB adicione a seguinte linha no campo "Valor da variável"


      C:\Qt\mingw\lib


    • OBS: Caso o caminho da instalaçõa do seu QT não seja C:\QT, troque o pelo caminho correto.

    • Pressione o botão "OK" para confirmar cada uma das configurações.



  2. Entre no console da Qt: Menu iniciar -> Qt SDK (ou outro) -> Qt Command Prompt

  3. Execute o comando: configure -static -no-phonon

  4. Execute o comando: mingw32-make sub-src (Esse comando deve demoras algumas horas, dependendo do seu hardware).



Após efetuar essa recompilação ao gerar algum projeto no QTCreator adicione a seguinte linha no arquivo .pro:



CONFIG += static



 



Pronto, agora para disponibilizar seus programas apenas envie o executável gerado com a dll mingwm10.dll.