<chapter id="adv-build-management">
<title>Avanceret byggehåndtering</title>
<indexterm zone="adv-build-management"><primary>&automake;</primary></indexterm>

<sect1 id="buildconfigurations">
<title>Flere byggeindstillinger</title>
<indexterm zone="buildconfigurations"><primary>byggeindstillinger</primary><secondary>flere</secondary></indexterm>

<para>(... endnu ikke skrevet ...) </para>

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

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

<sect1 id="crosscompiling">
<title>Krydskompilering</title>
<indexterm zone="crosscompiling"><primary>krydskompilering</primary></indexterm>
<indexterm zone="crosscompiling"><primary>kompilering</primary><secondary>kryds</secondary></indexterm>
<indexterm zone="crosscompiling"><primary><option>--host</option></primary></indexterm>

<para>Hvis du har passende krydskompilere tilgængelige, kan du kompilere dine programmer for processorer og operativsystemer som adskiller sig fra systemet hvor &tdevelop; og oversætteren kører. &GNU;-oversætteren, &gcc;, kan konfigureres og kompileres som en krydsoversætter hvis du kompilerer den selv. Rådspørg <ulink url="info://gcc/Cross-Compiler">GCC infosiderne</ulink> for mere information. Visse Linux-distributioner sørger også for binære pakker. </para>

<para>En automake-baseret pakke kan let krydskompileres ved at angive flaget <option>--host</option> til configure-scriptet og indstille miljøvariablerne <envar>CC</envar> og <envar>CXX</envar> til tilsvarende krydsoversættere. Ofte vil du skifte mellem en krydskompileret version af programmet, og en som er kompileret for udviklingssystemet. For at gøre dette, er det en fordel at bruge muligheden i &tdevelop; at oprette flere byggekonfigurationer, som forklaret under <xref linkend="buildconfigurations"/>. Når du har oprettet en ny byggekonfiguration for krydskompilering i dialogen <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projekttilvalg...</guimenuitem></menuchoice>, tilføj så flaget </para>

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

<para>til configure-flagene. Værdien <replaceable>platform</replaceable> er en kombination af formen </para>

<programlisting>cpu-forhandler-operativsystem</programlisting>
<para>eller</para>
<programlisting>cpu-forhandler-kerne-operativsystem</programlisting>

<para>For mange kombinationer kan du bruge en kortform, for eksempel <wordasword>i386-linux</wordasword> eller <wordasword>arm-elf</wordasword>. </para>

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

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

<sect1 id="qtembedded">
<title>Qt/Embedded</title>
<indexterm zone="qtembedded"><primary>indlejret</primary><secondary>Qt</secondary></indexterm>
<indexterm zone="qtembedded"><primary>Qt/Embedded</primary></indexterm>
<indexterm zone="qtembedded"><primary>Qtopia</primary></indexterm>
<indexterm zone="qtembedded"><primary>rammebuffer</primary></indexterm>

<para>&qte; er en version af &Qt;-biblioteket som ikke bruger X-window systemet, men tegner direkte i rammebufferen på Linuxsystemer. Den er derfor interessant for indlejrede systemer som har hårde begrænsninger for hukommelsesbrugen i hele systemet. Dens programmeringsgrænseflade stemmer fuldstændigt overens med X11-versionen. </para>

<para>At udvikle et program for &qte; med &tdevelop; adskiller sig ikke meget fra at udvikle et program for X11-versionen af &Qt;. I virkeligheden kan du bruge samme grundkode for begge versioner. Hvis du bruger projekthåndtering med autoprojekt, skifter du til den indlejrede version ved at sende flaget <option>--enable-embedded</option> til configure-scriptet. Du kan indstille det i dialogen <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projektindstillinger...</guimenuitem></menuchoice> under <guilabel>Indstilling af configure</guilabel>. Med flaget <option>--with-qt-dir=KATALOG</option>, indstiller du mappen hvor &qte; er installeret. </para>

<para>Efter at have konfigureret og kompileret programmet med disse flag, linkes det med biblioteket <filename>libqpe.so</filename>. Denne version af programmet kører ikke normalt når du bruger X11. For at teste den, kør den ved hjælp af programmet <application>tqvfb</application> (Qt's virtuelle rammebuffer). Det gøres ved at starte <application>tqvfb</application> og derefter starte programmet med </para>

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

<para>Når du har en version af programmet som virker, vil du naturligvis bruge den på målprocessoren. Det kan formodentlig være bekvemt at kunne oprette flere byggekonfigurationer, som forklaret ovenfor, så du hurtigt kan skifte mellem versionen som kører på udviklingssystemet og versionen som kører på målsystemet. </para>

<para>Programmer for &qte; kør normalt som enkelte programmer på enheden de er konstruerede for. Trolltech understøtter også Qtopia, som er en samling programmer for personlig information, web-læsning og diverse andre områder som fungerer sammen på en konsekvent måde. Det er for eksempel standardomgivelsen på Sharp Zaurus. Du kan skrive programmer som passer ind i denne omgivelse ved at bruge Qtopias udviklingsmiljø (SDK). Det medfører at dit program skal være en delklasse til <classname>QPEApplication</classname> og det skal linkes med biblioteket <filename>libqpe.so</filename>. Hvis du udvikler programmet med projekthåndteringen autoprojekt, skal du tilføje <option>--enable-qtopia</option> til konfigurationsflagene. </para>

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

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