KDevelop5/Manual/Building (compiling) projects with custom Makefiles/da: Difference between revisions
(Importing a new version from external source) |
No edit summary |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
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 [http://www.gnu.org/software/make/ 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. | 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 [http://www.gnu.org/software/make/ 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/da|1='''KDevelop''' | {{Note/da|1='''KDevelop''' 5.x kender ikke til '''GNU autotools''' mens dette skrives. Hvis dit projekt bruger dem, så bliver du selv nødt til at køre <code>./configure</code> eller andre relaterede kommandoer 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 <menuchoice>Vindue -> Tilføj værktøjsvisning...</menuchoice>); det giver dig en skalvinduesvisning. Kør så <code>./configure</code> 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 <menuchoice>Projekter</menuchoice> 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 <menuchoice>Projekt -> Byg valgte</menuchoice> eller taster <keycap>F8</keycap>. Dette kommer vi tilbage til nedenfor. | 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 <menuchoice>Projekter</menuchoice> 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 <menuchoice>Projekt -> Byg valgte</menuchoice> eller taster <keycap>F8</keycap>. Dette kommer vi tilbage til nedenfor. | ||
Line 11: | Line 11: | ||
=== Byg individuelle Makefile-mål === | === Byg 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 | 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 | ||
* mapper i dette projekt | |||
* filer i projektets topniveau-mappe | |||
* makefile-mål, som '''KDevelop''' kan finde | |||
Disse kategorier vises i billedet herunder. 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). | |||
[[ | [[File:Kdevelop-makefile-project.png|500px|thumb|center]] | ||
For at bygge et af målene i listen højre-klikker du på det og vælger <menuchoice>Byg</menuchoice>: 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 <menuchoice>Byg</menuchoice> i hovedvinduets kant. Dette vises nederst til højre i billedet.) | For at bygge et af målene i listen højre-klikker du på det og vælger <menuchoice>Byg</menuchoice>: 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 <menuchoice>Byg</menuchoice> i hovedvinduets kant. Dette vises nederst til højre i billedet.) | ||
Line 27: | Line 31: | ||
=== Hvad gør man med fejlmeddelelser === | === Hvad gør man med fejlmeddelelser === | ||
Hvis kompileren støder på en fejlmeddelelse, så skal du blot klikke på linjen med fejlmeddelelsen eller bruge <menuchoice>Navigation -> Jump to Next Outputmark</menuchoice> for at få editoren til at hoppe til den linje (og position, hvis den er tilgængelig), hvor fejlen blev rapporteret. Afhængigt af fejlmeddelelsen kan '''KDevelop''' også foreslå forskellige ting, der kan rette fejlen, for eksempel at erklære hidtil uerklærede variable, hvis et ukendt symbol blev fundet. | |||
{{Prevnext2 | {{Prevnext2 | ||
Line 35: | Line 39: | ||
}} | }} | ||
[[Category: | [[Category:Udvikling/da]] |
Latest revision as of 10:03, 7 April 2020
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.
./configure
eller andre relaterede kommandoer 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 ); 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 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 eller taster F8. Dette kommer vi tilbage til nedenfor.
Byg 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
- mapper i dette projekt
- filer i projektets topniveau-mappe
- makefile-mål, som KDevelop kan finde
Disse kategorier vises i billedet herunder. 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
: 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 i hovedvinduets kant. Dette vises nederst til højre i billedet.)Vælg en samling af Makefile-mål til gentagen bygning
Det bliver hurtigt trættede at højreklikke på individuelle Makefile-mål hver gang du vil bygge noget. I stedet vil vi gerne have individuelle mål for et eller flere projekter i sessionen, som vi kan bygge igen og igen uden for meget arbejde med musen. Her kommer begrebet "Byg måludvalg" ind i billedet: det er en samling af Makefile-mål, som bliver bygget et for et når du klikker på knappen F8.
i værktøjslisten foroven, vælger menuen eller tasterListen af valgte Makefile-mål vises i den nederste halvdel af værktøjsvisningen Projekter. Som standard indeholder udvalget alle projekter, men du kan ændre dette. Hvis din liste af projekter for eksempel indeholder tre projekter (et basisbibliotek L og to programmer A og B), men du i øjeblikket kun arbejder på projekt A, så kan du fjerne projekt B fra udvalgslisten ved at fremhæve det i udvalgslisten og klikke på knappen . Desuden vil du nok sikre dig, at biblioteket L bliver bygget før projekt A ved at flytte emnerne i udvalgslisten op og ned ved brug af knapperne til højre for listen. Du kan også føje et bestemt Makefile-mål til liste ved at højreklikke på det og vælge eller blot fremhæve det og klikke på knappen lige over listen af valgte mål.
KDevelop lader dig indstille, hvad den skal gøre, når du bygge udvalget. Til dette bruges menuen
. Der kan du for eksempel vælge antallet af samtidige jobs, som "make" skal udføre — hvis din computer fx har 8 processorkerner, så vil det være nyttigt at skrive 8 i dette felt. I denne dialog er et Makefile-mål, som bruges til alle mål i udvalget.Hvad gør man med fejlmeddelelser
Hvis kompileren støder på en fejlmeddelelse, så skal du blot klikke på linjen med fejlmeddelelsen eller bruge
for at få editoren til at hoppe til den linje (og position, hvis den er tilgængelig), hvor fejlen blev rapporteret. Afhængigt af fejlmeddelelsen kan KDevelop også foreslå forskellige ting, der kan rette fejlen, for eksempel at erklære hidtil uerklærede variable, hvis et ukendt symbol blev fundet.