summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt/docs/tdevelop/tdevelop/adv-build-management.docbook
blob: c45695a903c01d393bb1c525468568cd676528fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<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 &tdevelop; 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 &tdevelop; 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 &tdevelop; 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>tqvfb</application> (&Qt; Virtual Frame Buffer). Isto é feito ao iniciar o <application>tqvfb</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 -->