<chapter id="adv-build-management">
<title
>Avancerad bygghantering</title>
<indexterm zone="adv-build-management"
><primary
>&automake;</primary
></indexterm>

<sect1 id="buildconfigurations">
<title
>Flera bygginställningar</title>
<indexterm zone="buildconfigurations"
><primary
>bygginställningar</primary
><secondary
>flera</secondary
></indexterm>

<para
>(...ännu inte skrivet...) </para>

</sect1
> <!-- buildconfigurations -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="crosscompiling">
<title
>Korskompilering</title>
<indexterm zone="crosscompiling"
><primary
>korskompilera</primary
></indexterm>
<indexterm zone="crosscompiling"
><primary
>kompilera</primary
><secondary
>kors</secondary
></indexterm>
<indexterm zone="crosscompiling"
><primary
><option
>--host</option
></primary
></indexterm>

<para
>Om du har lämpliga korskompilatorer tillgängliga, kan du kompilera dina program för processorer och operativsystem som skiljer sig från systemet där &kdevelop; och kompilatorn kör. &GNU;-kompilatorn, &gcc;, kan konfigureras och kompileras som en korskompilator om du kompilerar den själv. Rådfråga <ulink url="info://gcc/Cross-Compiler"
>GCC infosidorna</ulink
> för mer information. Vissa Linux-distributioner tillhandahåller också binärpaket. </para>

<para
>Ett automake-baserat paket kan lätt korskompileras genom att ange väljaren <option
>--host</option
> till configure-skriptet och ställa in miljövariablerna <envar
>CC</envar
> och <envar
>CXX</envar
> till motsvarande korskompilatorer. Ofta vill du byta mellan en korskompilerad version av programmet, och en som kompilerats för utvecklingssystemet. För att göra det, är det en fördel att använda möjligheten i &kdevelop; att skapa flera byggkonfigurationer, som förklaras under <xref linkend="buildconfigurations"/>. När du har skapat en ny byggkonfiguration för korskompilering i dialogrutan <menuchoice
><guimenu
>Projekt</guimenu
> <guimenuitem
>Projektalternativ...</guimenuitem
></menuchoice
>, lägg till väljaren </para>

<screen
><option
>--host=</option
><replaceable
>plattform</replaceable
></screen>

<para
>till configure-väljarna. Värdet <replaceable
>plattform</replaceable
> är en kombination av formen </para>

<programlisting
>cpu-tillverkare-operativsystem</programlisting>
<para
>eller</para>
<programlisting
>cpu-tillverkare-kärna-operativsystem</programlisting>

<para
>För många kombinationer kan du använda en kortform, till exempel <wordasword
>i386-linux</wordasword
> eller <wordasword
>arm-elf</wordasword
>. </para>

</sect1
> <!-- crosscompiling -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="qtembedded">
<title
>Qt/Embedded</title>
<indexterm zone="qtembedded"
><primary
>inbäddad</primary
><secondary
>Qt</secondary
></indexterm>
<indexterm zone="qtembedded"
><primary
>Qt/Embedded</primary
></indexterm>
<indexterm zone="qtembedded"
><primary
>Qtopia</primary
></indexterm>
<indexterm zone="qtembedded"
><primary
>rambuffer</primary
></indexterm>

<para
>&qte; är en version av &Qt;-biblioteket som inte använder X-window systemet, utan ritar direkt i rambuffern på Linuxsystem. Den är därför intressant för inbäddade system som har hårda begränsningar för minnesanvändningen i hela systemet. Dess programmeringsgränssnitt överensstämmer fullständigt med X11-versionen. </para>

<para
>Att utveckla ett program för &qte; med &kdevelop; skiljer sig inte mycket från att utveckla ett program för X11-versionen av &Qt;. I själva verket kan du använda samma grundkod för båda versionerna. Om du använder projekthantering med autoprojekt, kan du byta till den inbäddade versionen genom att skicka väljaren <option
>--enable-embedded</option
> till configure-skriptet. Du kan ställa in det i dialogrutan <menuchoice
><guimenu
>Projekt</guimenu
> <guimenuitem
>Projektinställningar...</guimenuitem
></menuchoice
> under <guilabel
>Inställning av configure</guilabel
>. Med väljaren <option
>--with-qt-dir=KATALOG</option
>, kan du ställa in katalogen där &qte; är installerad. </para>

<para
>Efter att ha konfigurerat och kompilerat programmet med dessa väljare, länkas det med biblioteket <filename
>libqpe.so</filename
>. Den här versionen av programmet kör inte normalt när du använder X11. För att prova den, kör den med hjälp av programmet <application
>qvfb</application
> (Qt:s virtuella rambuffer). Det görs genom att starta <application
>qvfb</application
> och därefter starta programmet med </para>

<screen
><command>
program <option
>-qws</option
> <option
>-display QVFb:0</option>
</command
></screen>

<para
>När du har en version av programmet som fungerar, vill du naturligtvis använda den på målprocessorn. Det kan troligen vara bekvämt att kunna skapa flera byggkonfigurationer, som förklaras ovan, så att du snabbt kan byta mellan versionen som kör på utvecklingssystemet och versionen som kör på målsystemet. </para>

<para
>Program för &qte; kör normalt som enkla program på enheten de är konstruerade för. Trolltech stöder också Qtopia, som är en samling program för personlig information, webbläsning och diverse andra områden som fungerar tillsammans på ett konsekvent sätt. Det är till exempel standardomgivningen på Sharp Zaurus. Du kan skriva program som passar in i denna omgivning genom att använda Qtopias utvecklingsmiljö (SDK). Det medför att ditt program måste vara en delklass till <classname
>QPEApplication</classname
> och det måste länkas med biblioteket <filename
>libqpe.so</filename
>. Om du utvecklar programmet med projekthanteringen autoprojekt, måste du lägga till <option
>--enable-qtopia</option
> till konfigurationsväljarna. </para>

</sect1
> <!-- qtembedded -->

</chapter
> <!-- adv-build-management -->
