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.