KDevelop4/Manual/Byg (kompilér) projekter med dine egne makefiler

From KDE Wiki Sandbox
Revision as of 11:36, 11 June 2011 by Claus chr (talk | contribs) (Importing a new version from external source)
Other languages:

Byg (kompilér) projekter med dine egne makefiler

Mange projekter beskriver, hvordan kildefiler skal kompileres (og hvilke filer, der skal kompileres når en kilde- eller headerfil ændres) i Makefiler, som fortolkes af programmet make (se for eksempel GNU make). For enkle projekterer det ofte ret let at lave sådan en fil i hånden. Større projekter integrerer ofte deres makefiler med GNU autotools (autoconf, autoheader, automake). I dette afsnit vil vi simpelthen antage at du har en Makefile til dit projekt og vil lære KDevelop at arbejde sammen med den.

Note
KDevelop 4.x kender ikke til GNU autotools mens dette skrives. Hvis dit projekt bruger dem, så bliver du nødt til at køre ./configure eller andre relaterede kommandoer selv på en kommandolinje. Hvis du ønsker at gøre dette inde fra KDevelop, så åbn værktøjet Konsole (føj det til hovedvinduets kant om nødvendigt ved at vælge menuen Vindue -> Tilføj værktøjsvisning...); det giver dig en skalvinduesvisning. Kør så ./configure på kommandolinjen i denne visning.


Det første skridt er at lære KDevelop om mål i dine Makefiler. Der er to måder at gøre det på: du kan angive individuelle Makefile-mål og du kan vælge en gruppe af mål, som du ofte vil bygge. Til begge fremgangsmåder åbnes værktøjet Projekter ved at klikke på knappen Projekter i hovedvinduets kant (se ovenfor, hvordan du tilføjer knappen, hvis den ikke allerede er der). Værktøjsvisningen Projekter har to dele: den øverste halvdel med titlen Projekter indeholder en liste med alle dine projekter og lader dig udvide det underliggende mappetræ. Den nederste del med titlen Projektvalg indeholder en liste med de projekter, som vil blive bygget, hvis du vælger menuen Projekt -> Byg valgte eller taster F8. Dette kommer vi tilbage til nedenfor.

Bys individuelle Makefile-mål

I den øverste del af projektvisningen udvider du undertræet for et projekt, lad os sige det, for hvilket du vil bygge et bestemt Makefile-mål. Dette vil give dig ikoner for (i) mapper i dette projekt, (ii) filer i projektets topniveau-mappe og (iii) Makefile-mål, som KDevelop kan finde. Disse kategorier vises i billedet til højre. Bemærk, at KDevelop til en vis grad forstår Makefile-syntaks og derfor kan vise dig mål, som er defineret Makefilen (selvom denne forståelse er begrænset, hvis målene er sammensatte eller implicitte).

For at bygge et af målene i listen højre-klikker du på det og vælger Byg: Gør du for eksempel det på målet "clean", så udføres kommandoen "make clean". Du kan se det ske i undervinduet med titlen Byg, som dukker op og viser dig kommandoen og dens output. (Dette vindue svarer til værktøjet Byg, så du kan lukke det og senere genåbne det ved at bruge værktøjsknappen Byg i hovedvinduets kant. Dette vises nederst til højre i billedet.)

Selecting a collection of Makefile targets for repeated building

Right-clicking on individual Makefile targets every time you want to build something will quickly get old. Rather, we'd like to have individual targets for one or more of the projects in the session that we can repeatedly build without much mouse work. This is where the concept of "Build target selections" comes in: it is a collection of Makefile targets that are built one-after-the-other whenever you hit the Build selection button in the button list at the top, select the Project -> Build selection menu item, or hit the F8 function key.

The list of selected Makefile targets is shown in the bottom half of the Projects tool view. By default, the selection contains all projects, but you can change that. For example, if your list of projects contains three projects (a base library L and two applications A and B), but you're currently only working on project A, then you may want to remove project B from the selection by highlighting it in the selection and hitting the red - button. Furthermore, you probably want to make sure that the library L is built before project A by moving entries in the selection up and down using the buttons to the right of the list. You can also get a particular Makefile target into the selection by right-clicking onto it and selecting Add to buildset, or just highlighting it and hitting the green + button just above the list of selected targets.

KDevelop allows you to configure what to do whenever you build the selection. To this end, use the menu item Project -> Open configuration. There, you can for example select the number of simultaneous jobs "make" should execute — if your computer has, say, 8 processor cores, then entering 8 in this field would be a useful choice. In this dialog, the Default make target is a Makefile target used for all targets in the selection.

What to do with error messages

If the compiler encounters an error message, simply click on the line with the error message and the editor will jump to the line (and if available column) where the error was reported. Depending on the error message, KDevelop may also offer you several possible actions to fix the error, for example by declaring a previously undeclared variable if an unknown symbol was found.