Make your own free website on Tripod.com

Criando um projeto com o KDevelop

Independente do tamanho da aplicação, para usar o KDevelop, o primeiro passo é criar um projeto. Na criação do projeto é que o KDevelop colhe as informações necessárias para gerar os scritps de configuração responsáveis pela criação dos Makefiles que dizem ao compilador onde buscar as bibliotecas e quais são os pré-requsitos para gerar o programa final.

A Figura 1 mostra a tela principal do KDevelop configurada no modo IDEAI[1]. Depois do projeto criado, são acrescentadas abas nas laterais da janela, como Classes e File Groups.

Figura 1. KDevelop - tela principal

Para criar um novo projeto no KDevelop, deve-se selecionar o menu Projeto->Novo projeto (New Project se o KDevelop estiver em inglês). O KDevelop então inicia o assistente de criação de projeto, como mostrado na Figura 2. É interessante notar que vários tipos de projetos são suportados pelo KDevelop, incluindo scripts php. No caso do projeto deste trabalho, deve ser celecionada a opção C++->KDE->Simple KDE Application. Na primeira tela do assistente, deve ser informado o nome do projeto e alguns dados adicionais para identificação do autor e do projeto. Clicando no botão Próximo, outras telas do assistente serão abertas e, para o projeto descrito, deve-se aceitar as opções padrão. O KDevelop vai criar um diretório para projeto e colocar nele todos os arquivos necessários para gerar o sistema.

Figura 2. KDevelop - assistente de criação de projeto

O novo projeto já faz alguma coisa: mostra uma janela com os dizeres Hello World. Para testar seu funcionamento, deve-se mandar o KDevelop rodar o programa (Compilar->Executar programa). O KDevelop vai detectar que o projeto é novo e pergunta se você quer executar o script configure, ou seja, ao criar o projeto, o KDevelop se encarregou de criar os scripts de configuração. Aceitando a execução do script, o sistema vai compilar e logo após será executado (a janela do aplicativo será exibida na tela).

O projeto recém criado, tem todas as ligações necessárias para compilar usando as bibliotecas Qt e KDE, mas falta uma que é de fundamental importância ao projeto: a biblioteca do MySQL. No momento em que for preciso usar uma função do MySQL, será necessário informar duas coisas: os headers onde estão declarados os protótipos das funções e estruturas do MySQL, e a biblioteca para a geração do executável do sistema.

O arquivo header que deve ser usado é o mysql.h. Geralmente, as distribuições Linux colocam esses arquivos no diretório /usr/include. No caso específico do Conectiva Linux, os headers do MySQL são colocados em /usr/include/mysql, porém ele vem configurado para procurar os headers apenas no diretório /usr/include. Para contornar esse problema, deve-se informar o subdiretório onde está o MySQL, e a linha com o include ficará como mostrado na 4Figura 3.

#include <mysql/mysql.h>

Figura 3. Acrescentando um include em um arquivo fonte

Curiosamente, no Conectiva Linux, a biblioteca libmysqlclient está localizada no diretório padrão /usr/lib não sendo necessário, como no caso do header, informar o subdiretório onde o arquivo se localiza. Para informar ao KDevlop que ele precisa usar a biblioteca libmysqlclient.so, deve-se abrir a janela Automake Manager, mostrada na Figura 4.

Figura 4. KDevelop - a janela Automake Manager

Com a janela Automake Manager aberta, na parte inferior, deve-se cicar no botão Show Options, ou ainda clicar com o botão direito sobre o alvo[2] kvendas e selecionar a opção Options. Uma caixa de diálogo se abre para que sejam informadas as opções do alvo selecionado. Para informar uma biblioteca, deve-se selecionar a guia Bibliotecas e, como a biblioteca do MySQL é externa ao projeto, deve ser usada a parte inferior (Link libraries outside project (LDADD)). Agora deve-se dar um clique no botão Adicionar. Uma caixa de diálogo como a da Figura 5 se abre para que seja informada a biblioteca que se deseja incluir. Nessa caixa, deve aparecer o texto -l e, sem apagar o que está escrito, deve ser acrescentado mysqlclient. Ao fechar a caixa de diálogo, a biblioteca do MySQL vai aparecer na lista de bibliotecas utilizadas pelo sistema.

O projeto está agora pronto para implementação. Para ver como é possível integrar o Umbrello com o KDevelop, será mostrado como gerar os arquivos fontes das classes no Umbrello e depois como incluir esses arquivos no projeto criado pelo KDevelop. Por enquanto, o KDevelop é deixado de lado para que as classes sejam geradas pelo Umbrello.

Figura 5. KDevelop - informando bibliotecas adicionais

Notas

[1]

O KDeveop pode ser configurado para apresentar as janelas de diferentes modos como em forma de abas ou MDI (Multiple Document Interface - Interface de mltiplos documentos). O modo de exibição pode ser alterado em Configurações->Configurar Gideon.

[2]

A partir da versão 3, o KDevelop pode gerenciar mais de um alvo para implementar um sistema. Seria como se houvessem subsistemas dentro do sistema. Esses targets, então, representam os subsistemas e, ao criar um novo arquivo, o KDevlop pergunta a qual subsistema o novo arquivo vai pertencer. Como no projeto descrito neste trabalho não existirá nenhum subsistema, sempre deverá ser usado o target atual.