Neste pequeno tutorial vamos compilar a Qt no Windows® para obtermos os benefícios da multiplataforma, você poderá ter o seu sistema desenvolvido em Qt rodando no Windows® e no Linux e se quiser se aventurar mais, também no Mac OS®.
Na pagina de downloads da Qt Software, existe também a opção de baixar a versão pré-compilada, Qt SDK.
Iremos utilizar a versão nomeada Qt - Framework Only, clique no link a seguir para baixar o pacote Qt - Framework Only contendo a versão para Windows® da biblioteca e o compilador MinGw, a versão do g++ para Windows®.
Durante a instalação do pacote você terá a opção de baixar ou não automaticamente o compilador Mingw, mas se quiser você pode não baixar pela instalação da Qt e deixar para baixar manualmente a versão mais atual do compilador direto da pagina do Mingw.

Depois de baixar o pacote você deve estar conectado a Internet quando começar a instalação se quiser usar a opção de baixar automaticamente o Mingw.
Terminada a instalação vamos a algumas explicações, no Windows® você terá um ambiente de desenvolvimento Qt semelhante ao do Linux, tanto a biblioteca Qt quanto seus aplicativos serão compilados no Windows® pelo MinGw (Minimalist GNU for Windows), a versão para Windows® do g++, como IDE de desenvolvimento você pode usar no Windows® o QTCreator daTrolltech ou o Eclipse Ganymede com o plugin Qt da Qt Software, ambos integram o MinGw, o Qmake, o Qt Designer (que você também pode usar separadamente) e editores para programação C++ com os recursos habituais de qualquer bom editor(identação automática, complementação de código etc).

Para compilar a biblioteca propriamente, é necessário somente o Mingw, as demais ferramentas que mencionei acima são necessárias posteriormente para o desenvolvimento de seus aplicativos.
Existe a possibilidade de utilizar outro compiladores que não o Mingw, como o Microsoft® Visual Studio, mas neste tutorial, bem como em todo o site, eu só tratarei de ferramentas Open Source.

Sempre que compilamos a Qt, tanto no Linux como no Windows®, o primeiro passo é rodarmos o script chamado configure, ele analisa diversos parâmetros do "ambiente" onde ele esta, como variaveis de ambiente, softwares, bibliotecas e DLLs instaladas etc, por exemplo, ele detecta se a um compilador instalado ou não.
No entanto, a uma diferença no comportamento do script em relação ao sistema operacional, quando ele vai detectar se a bancos de dados instalados.
No Linux ele detecta automaticamente os bancos para qual existem drivers de aceso Qt, como PostgreSQl, MySql, Firebird, Oracle, DB2 etc, no Windows® ele não faz esta verificação.
No caso do Linux, detectando automaticamente os bancos de dados, ele ira gerar os drivers de acesso como plugins que serão carregados em tempo de execução pelo seu aplicativo, embora exista a opção de compilação estatica para os drivers.
Neste caso(no Linux) você não precisa colocar nenhum parâmetro adicional na linha de comando para o script e você pode verificar todos os parâmetros disponíveis, tanto no Linux como no Windows®, digitando ./configure --help no bash ou configure --help no prompt do DOS.

No Windows você precisa colocar os parâmetros ao configure que indicam o caminho onde o banco esta instalado e onde estão suas bibliotecas, libs e dlls.
Pela minha experiencia pessoal, no caso do PostgreSql a compilação transcorre sem problemas, mas o Firebird e o MySql requerem cuidados especiais, por isso é melhor deixar a compilação dos drivers para estes dois bancos para uma etapa posterior, depois de já termos compilado a biblioteca.
Aqui no site tem o tutorial sobre compilação dos Driver Qt para acesso a bancos de dados no Windows®.

Vou colocar como exemplo de compilação junto com a biblioteca somente o PostgreSQL, os demais estão no tutorial sobre compilação de drivers.

Baixe o PostgreSQL e instale-o no diretório raiz C:\, preste atenção neste detalhe pois o instalador por padrão ira instalar em “C:\Arquivos de programas” mas o Qmake não entende espaços em branco em nomes de diretórios, lembre- se que o configure chama o Qmake para gerar o makefile, e você terá de passar ao configure os caminhos das DLLs do Postgre para ele compilar e gerar o driver de acesso ao banco, senão seu sistema pode ficar sem acesso ao Postgre (ou outro banco).
Lembre-se sempre de instalar qualquer banco de dados no Windows® no diretório raiz, C:\ , e não em C:\Arquivos de programas para não ter problemas no caso de você usar a Qt.
Agora vá em Iniciar->Configurações->Painel de controle->Sistema->Avançado e clique em “Variáveis de ambiente”, edite a variável PATH, adicionando de preferência no inicio da variável os caminhos do MinGw, da Qt e do Postgresql, este é o PATH no meu computador:

C:\MinGW\bin;C:\Qt\4.4.3\bin;C:\PostgreSQL\8.3\include;C:\PostgreSQL\8.3\lib;C:\PostgreSQL\8.3\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem


Crie um nova variável de ambiente chamada QTDIR e de a ela o valor C:\Qt\4.4.3 ou a versão mais atual da biblioteca que você esteja usando,isto é importante, lembre-se de sempre usar a versão atual da biblioteca, ou seja, a que você esta usando, que pode não ser mais a 4.4.3.

Feito isso podemos compilar a Qt, va em Iniciar->Programas->Qt by Nokia v4.4.3(open source)->Qt 4.4.3 Command Prompt, ele ira abrir o promp do DOS já no diretório da Qt.

Abaixo:Menu da Qt no iniciar do Windows®.(Clique na imagem para ampliar).

Menu da Qt no iniciar do Windows®.

Digite:

configure -platform win32-g++ -debug-and-release -plugin-sql-psql -L C:\PostgreSQL\8.3\lib -I C:\PostgreSQL\8.3\include


Isto ira gerar o makefile para a compilação, ao terminar este processo, se não ocorrer nenhum erro, digite:

mingw32-make

Abaixo:Compilando a Qt no Windows®.(Clique na imagem para ampliar).

Compilando a Qt no Windows®.

Lembre também de verificar qual a sua versão do PostgreSql, se for difirente de 8.3 substitua na linha de comando pelo numero da sua versão.

As configurações que estou usando aqui são bem simples, você pode ver todas as configurações possíveis digitando no prompt configure --help. A compilação pode demorar varias horas dependendo do seu processador e memória. Terminada a compilação se não houver nenhum erro você pode instalar as IDEs, QTCreator ou Eclipse ganymede e fazer seus testes.
O processo que eu descrevo no meu tutorial , Introdução a construção(building) de um aplicativo Qt se aplica integralmente ao Windows®, você pode gerar o seu projeto e compilar, se quiser, usando a sequencia:

qmake -project
qmake
make

É claro que você deve aproveitar o poder das ferramentas Qt como o QtCreator.

Nos tutoriais sobre o Agata Report e o openRPT (geradores de relatórios) você vera que ambos possuem versão para Windows®, fiz este pequeno tutorial sobre compilar a Qt no Windows® que podera ser útil se você quiser compilar seu aplicativo no Windows® com emissão de relatórios utilizando o Agata ou o openRPT.

Abaixo, QTCreator com o sistema de vendas.(Clique na imagem para ampliar).

QTCreator com o sistema de vendas.

Um fator importante sobre quando você for distribuir seu aplicativo em uma rede Windows® é a hierarquia de diretórios e a distribuição das DLL's e dos drivers de acesso a banco de dados, isto é de suma importância, pois pode trazer alguns problemas.
As DLL's dos exemplos abaixo se referem a conexão com um banco PostgreSql, podem ser encontradas no diretório da instalação do PostgreSql, na minha maquina é:

PostgreSql:

C:\PostgreSQL\8.3\bin

As DLL's da Qt:

C:\Qt\4.5.0\bin

Os drivers da Qt para acesso ao PostgreSql:

C:\Qt\4.5.0\plugins\sqldrivers

Em alguns casos você talvez tenha de procurar na internet uma ou outra DLL faltando.

Outros bancos de dados terão outras DLL's.

A hierarquia de diretórios é a mesma no Linux e no Windows® para aplicativos distribuídos nas estações:

seuApp
     |----->sqldrivers

Abaixo, imagem da hierarquia de diretórios, onde se vê o nome meuApp você pode nomear como quiser.(Clique na imagem para ampliar):

Hierarquia de diretórios.

Abaixo, listagem obtida a partir de um comando “DIR” do DOS dentro dos diretórios mostrando as DLL's e os drivers, são dois sistemas diferentes compilados no Windows®,segue também as imagens dos diretórios.
Obs: Estas imagens foram obtidas a partir de uma partição Linux/Kubuntu usando o Konqueror enxergando a partição Windows® , fiz isso apenas para ter uma visão das pastas expandidas que o Windows Explorer não oferece.:

Sistema dos tutorias de relatórios:


 O volume na unidade C é HD
 O número de série do volume é 142E-1609

 Pasta de C:\QT_e_Kdevelop_Windows\Diretorios_estacao\cadastro

05/10/2009  10:54    <DIR>          .
05/10/2009  10:54    <DIR>          ..
02/10/2009  15:10         2.682.775 cadastro.exe
15/08/2007  14:41            12.288 comerr32.dll
03/10/2009  12:43               541 config.txt
15/08/2007  14:41           139.264 gssapi32.dll
15/08/2007  14:41            19.968 k5sprt32.dll
15/08/2007  14:41           602.112 krb5_32.dll
27/02/2007  15:39         1.040.384 libeay32.dll
06/01/2009  10:51           968.886 libiconv-2.dll
06/01/2009  10:51            83.906 libintl-8.dll
03/02/2009  06:23           167.936 libpq.dll
10/01/2009  17:32            11.362 mingwm10.dll
08/04/2008  10:13           348.160 msvcr71.dll
11/03/2009  18:42        18.472.758 QtCored4.dll
11/03/2009  19:21        74.689.252 QtGuid4.dll
11/03/2009  19:52         2.752.135 QtSqld4.dll
27/02/2007  15:40           196.608 ssleay32.dll
05/10/2009  10:55    <DIR>          sqldrivers
12/10/2009  14:10                60 chamaqmake.bat
12/10/2009  14:11                 0 diretorios.txt
              18 arquivo(s)    102.188.395 bytes
               3 pasta(s) 22.526.394.368 bytes disponíveis
 O volume na unidade C é HD
 O número de série do volume é 142E-1609

 Pasta de C:\QT_e_Kdevelop_Windows\Diretorios_estacao\cadastro\sqldrivers

05/10/2009  10:55    <DIR>          .
05/10/2009  10:55    <DIR>          ..
12/03/2009  03:00         1.006.374 qsqlpsqld.dll
12/03/2009  03:00         1.006.374 qsqlpsqld4.dll
12/10/2009  14:11             1.274 diretorios.txt
               3 arquivo(s)      2.014.022 bytes
               2 pasta(s) 22.526.361.600 bytes disponíveis




Abaixo, imagem dos diretório do sistema dos tutorias de relatórios.(Clique na imagem para ampliar):

Hierarquia de diretórios.

Sistema de Vendas e Controle de Estoque:


 O volume na unidade C é HD
 O número de série do volume é 142E-1609

 Pasta de C:\QT_e_Kdevelop_Windows\Diretorios_estacao\vendas

05/10/2009  10:55    <DIR>          .
05/10/2009  10:55    <DIR>          ..
15/08/2007  14:41            12.288 comerr32.dll
05/10/2009  10:38               538 config.txt
15/08/2007  14:41           139.264 gssapi32.dll
15/08/2007  14:41            19.968 k5sprt32.dll
15/08/2007  14:41           602.112 krb5_32.dll
27/02/2007  15:39         1.040.384 libeay32.dll
06/01/2009  10:51           968.886 libiconv-2.dll
06/01/2009  10:51            83.906 libintl-8.dll
03/02/2009  06:23           167.936 libpq.dll
12/10/2009  12:54                 0 menssagem.txt
10/01/2009  17:32            11.362 mingwm10.dll
08/04/2008  10:13           348.160 msvcr71.dll
11/03/2009  19:48         2.747.392 QtCore4.dll
11/03/2009  18:42        18.472.758 QtCored4.dll
11/03/2009  20:52        11.450.880 QtGui4.dll
11/03/2009  19:21        74.689.252 QtGuid4.dll
11/03/2009  20:53           305.664 QtSql4.dll
11/03/2009  19:52         2.752.135 QtSqld4.dll
27/02/2007  15:40           196.608 ssleay32.dll
05/10/2009  10:47           610.304 vendas.exe
05/10/2009  10:56    <DIR>          sqldrivers
12/10/2009  12:51                58 chamaqmake.bat
              21 arquivo(s)    114.619.855 bytes
               3 pasta(s) 22.527.311.872 bytes disponíveis
 O volume na unidade C é HD
 O número de série do volume é 142E-1609

 Pasta de C:\QT_e_Kdevelop_Windows\Diretorios_estacao\vendas\sqldrivers

05/10/2009  10:56    <DIR>          .
05/10/2009  10:56    <DIR>          ..
12/03/2009  04:00           102.400 qsqlpsql.dll
12/03/2009  04:00         1.006.374 qsqlpsqld4.dll
12/10/2009  12:54             1.414 menssagem.txt
               3 arquivo(s)      1.110.188 bytes
               2 pasta(s) 22.527.279.104 bytes disponíveis




Abaixo, diretórios do sistema de Vendas e Controle de Estoque.(Clique na imagem para ampliar):

Hierarquia de diretórios.

Abaixo, compilando o Sistema de Vendas e Controle de Estoque no QtCreator.(Clique na imagem para ampliar):

Compilando o sistema de vendas.

Abaixo, Resultado da compilação do Sistema de Vendas e Controle de Estoque no QtCreator.(Clique na imagem para ampliar):

Compilando o sistema de vendas.

Abaixo, editando o arquivo de recursos do QtCreator.(Clique na imagem para ampliar):

Editando o arquivo de recursos.

O QtDesigner é integrado ao QtCreator, mas pode ser usado separadamente.
Abaixo, cadastro de clientes no QtDesigner.(Clique na imagem para ampliar):

cadastro de clientes no QtDesigner

Abaixo, sistema dos tutoriais sobre relatórios rodando no Windows®.(Clique na imagem para ampliar):

sistema dos tutoriais sobre relatórios rodando no Windows

Abaixo, sistema de Vendas e Controle de Estoque rodando no Windows®.(Clique na imagem para ampliar):

sistema de Vendas e Controle de Estoque rodando no Windows®

Abaixo, uma ferramenta que me tem sido de muita valia quando preciso editar algum batch file ou scrip no Windows®, ou mesmo quando resolvo compilar sem o QtCreator e quero editar os fontes, o NotPad++.(Clique na imagem para ampliar):

NotPad++

Tutorial anterior:Integrando o openRPT a um aplicativo Qt
Próximo Tutorial: Gerando senhas criptografadas em um aplicativo Qt com QCA: Qt Cryptographic Architecture

Pagina inicial


Comentários:


Nenum comentário

Deixe seu comentário:


 *

 *



 *
  Campos marcados com * são obrigatórios.