# Gestão de Compilações Avançada

## Configurações de Compilação Múltiplas

(... ainda não escrito ...)

## Compilação Cruzada

Quando tiver compiladores cruzados disponíveis, poderá compilar os seus programas para processadores e sistemas operativos diferentes do sistema operativo onde o &kdevelop; e o compilador estão a correr. A colecção de compiladores da &GNU;, o &gcc;, pode ser configurado e compilado como compilador cruzado se o compilar você mesmo. Consulte as páginas do 'info' do GCC para saber mais informações. Algumas das distribuições do &Linux; também oferecem pacotes binários.

Um pacote baseado no automake pode ser compilado de forma cruzada se indicar a opção `--host` no programa 'configure' e definir as variáveis de ambiente `CC` e `CXX` para os executáveis dos compiladores cruzados. Muitas vezes poderá querer mudar entre uma versão compilada de forma cruzada e outra compilada para o seu sistema de desenvolvimento. Para tal, é vantajoso usar a capacidade de o &kdevelop; criar várias configurações de compilação, como é explicado em buildconfigurations. Logo que tenha criado uma nova configuração de compilação criada na janela Projecto Opções do Projecto..., adicione a opção

    --host=plataforma

às opções do 'configure'. O nome da `plataforma` é um tuplo no formato

    cpu-fabricante-so

ou

    cpu-fabricante-kernel-so

Para as várias combinações, poderá usar uma versão reduzida, como por exemplo i386-linux ou arm-elf.

## Qt/Embedded

O &qte; é uma versão da biblioteca &Qt; que não usa o sistema de janelas do X, mas acede directamente ao 'framebuffer' nos sistemas &Linux;. É por isso interessante para os sistemas embebidos com grandes restrições na utilização de memória do sistema completo. A sua &API; é completamente compatível com a versão para X11.

O desenvolvimento de uma aplicação para o &qte; com o &kdevelop; não é muito diferente de desenvolver um programa para a versão em X11 do &Qt;. De facto, pode usar a mesma base de código para ambas as versões. Se usar a gestão de projectos 'autoproject', poderá passar para a versão embebida, usando o argumento `--enable-embedded` no programa 'configure'. Poderá definir isto na janela de Projecto Opções do Projecto... em Opções do Configure. Com a opção `--with-qt-dir=DIR`, poderá definir a pasta em que o &qte; está instalado.

Após configurar e compilar a sua aplicação com estas opções, ela irá associar-se à biblioteca `libqpe.so`. Esta versão da sua aplicação não irá executar normalmente quando usar o X11. Para poder testá-la, execute-a sob o controlo do programa qvfb (&Qt; Virtual Frame Buffer). Isto é feito ao iniciar o qvfb e depois, ao iniciar a sua aplicação, com

    aplicacao -qws -display QVFb:0

Naturalmente, quando tiver uma versão funcional da sua aplicação, irá querer usá-la no processador-alvo. Para tal, será provavelmente conveniente criar várias configurações de compilação, como foi explicado acima, para que possa mudar rapidamente entre a versão em execução no seu sistema de desenvolvimento e a versão a correr no sistema-alvo.

As aplicações para o &qte; irão executar normalmente como aplicações autónomas no dispositivo para o qual estão desenhadas. A Trolltech também suporta o Qtopia, que é uma colecção de aplicações para PIM, navegação Web e outras áreas diversas, funcionando em conjunto de forma consistente. É o ambiente-padrão, por exemplo, do Sharp Zaurus. Poderá criar aplicações que se integrem neste ambiente, usando o SDK do Qtopia. Isto implica fazer com que a classe da sua aplicação seja uma sub-classe de `QPEApplication` e compilar com a biblioteca `libqpe.so`. Se desenvolver a sua aplicação com a gestão de projectos 'autoproject', terá de adicionar `--enable-qtopia` às opções do 'configure'.