<chapter id="adv-build-management"> <title >Gestão de Compilações Avançada</title> <indexterm zone="adv-build-management" ><primary >&automake;</primary ></indexterm> <sect1 id="buildconfigurations"> <title >Configurações de Compilação Múltiplas</title> <indexterm zone="buildconfigurations" ><primary >configurações da criação</primary ><secondary >múltiplas</secondary ></indexterm> <para >(... ainda não escrito ...) </para> </sect1 > <!-- buildconfigurations --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="crosscompiling"> <title >Compilação Cruzada</title> <indexterm zone="crosscompiling" ><primary >compilação cruzada</primary ></indexterm> <indexterm zone="crosscompiling" ><primary >compilação</primary ><secondary >cruzada</secondary ></indexterm> <indexterm zone="crosscompiling" ><primary ><option >--host</option ></primary ></indexterm> <para >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 <ulink url="info://gcc/Cross-Compiler" >páginas do 'info' do GCC</ulink > para saber mais informações. Algumas das distribuições do &Linux; também oferecem pacotes binários. </para> <para >Um pacote baseado no <application >automake</application > pode ser compilado de forma cruzada se indicar a opção <option >--host</option > no programa 'configure' e definir as variáveis de ambiente <envar >CC</envar > e <envar >CXX</envar > 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 <xref linkend="buildconfigurations"/>. Logo que tenha criado uma nova configuração de compilação criada na janela <menuchoice ><guimenu >Projecto</guimenu ><guimenuitem >Opções do Projecto...</guimenuitem ></menuchoice >, adicione a opção </para> <screen ><option >--host=</option ><replaceable >plataforma</replaceable ></screen> <para >às opções do 'configure'. O nome da <replaceable >plataforma</replaceable > é um tuplo no formato </para> <programlisting >cpu-fabricante-so</programlisting> <para >ou</para> <programlisting >cpu-fabricante-kernel-so</programlisting> <para >Para as várias combinações, poderá usar uma versão reduzida, como por exemplo <wordasword >i386-linux</wordasword > ou <wordasword >arm-elf</wordasword >. </para> </sect1 > <!-- crosscompiling --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1 id="qtembedded"> <title >Qt/Embedded</title> <indexterm zone="qtembedded" ><primary >embebido</primary ><secondary >Qt</secondary ></indexterm> <indexterm zone="qtembedded" ><primary >Qt/Embedded</primary ></indexterm> <indexterm zone="qtembedded" ><primary >Qtopia</primary ></indexterm> <indexterm zone="qtembedded" ><primary >'framebuffer'</primary ></indexterm> <para >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. </para> <para >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 <option >--enable-embedded</option > no programa 'configure'. Poderá definir isto na janela de <menuchoice ><guimenu >Projecto</guimenu > <guimenuitem >Opções do Projecto...</guimenuitem ></menuchoice > em <guilabel >Opções do Configure</guilabel >. Com a opção <option >--with-qt-dir=DIR</option >, poderá definir a pasta em que o &qte; está instalado. </para> <para >Após configurar e compilar a sua aplicação com estas opções, ela irá associar-se à biblioteca <filename >libqpe.so</filename >. 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 <application >qvfb</application > (&Qt; Virtual Frame Buffer). Isto é feito ao iniciar o <application >qvfb</application > e depois, ao iniciar a sua aplicação, com </para> <screen ><command >aplicacao <option >-qws</option > <option >-display QVFb:0</option ></command ></screen> <para >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. </para> <para >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 <classname >QPEApplication</classname > e compilar com a biblioteca <filename >libqpe.so</filename >. Se desenvolver a sua aplicação com a gestão de projectos 'autoproject', terá de adicionar <option >--enable-qtopia</option > às opções do 'configure'. </para> </sect1 > <!-- qtembedded --> </chapter > <!-- adv-build-management -->