Getting Started/Set up KDE 4 for development (ca)

Jump to: navigation, search


Contents

Getting_Started/Set_up_KDE_4_for_development

Configurar KDE 4 per al desenvolupament
Sèrie de Tutorials   Començant
Prerequisits   Compilant KDE 4
Què ve després   Altres temes de desenvolupament
Referències   n/a
{{{3}}}
 
noframe
Aquesta plana assumeix que ha compilat kdelibs, kdepimlibs, i kdebase d'acord amb aquestes instructions
Nota


Executant aplicacions i sessions de KDE 4

Quan comences el desenvolupament per a KDE 4, hi ha generalment tres opcions a triar:

Totes tres opcions són explicades a les seccions següents.

{{{3}}}
 
noframe

Si obtens errors quan executis qualsevol aplicació kde4, com ara:

 Qt: Session management error: Could not open network socket
 QMutex::lock: Deadlock detected in thread -1241241936 

o quan executis startkde i es quedi penjat, llegeix aquest article per a solventar-ho.

Nota


Executants aplicacions KDE 4

Emprant la shell normal amb sux

Per aquest mètode, es requereix l'eina sux (http://fgouget.free.fr/sux/sux-readme.shtml). sux està disponible a la majoria de distribucions. Sinó pots emprar el mètode de sota shell normal sense sux. sux et permet canviar a un altre usuari amb una gestió implicita dels detalls de forward de les X (exportació d'authentificació i DISPLAY) d'una manera neta i simple.

Per a loguejar, escriu
sux - kde-devel</code>
 
Totes les variables d'entorn i tota la resta hauria d'establir-se correctament al teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per a iniciar una aplicació, senzillament escriu el seu nom;  per exemple <syntaxhighlight lang="bash">kwrite</code>
{{Note (ca)|
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
* executa <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</code>
}}
 
==== Emprant la shell normal sense sux ====
El mètode més simple per a executar apliacions KDE 4 és emprar <tt>su</tt> per a loguejar com a l'usuari <tt>kde-devel</tt> i llavors senzillament iniciar qualsevol aplicació KDE 4 des de la línia de ocmandes. Per a loguejar-te, escriu
<syntaxhighlight lang="bash">su - kde-devel</code>
i llavors, després d'entrar la teva clau d'accés
<syntaxhighlight lang="bash">export DISPLAY=:0</code>
{{Note (ca)|Exportant la variable <tt>DISPLAY</tt> és necessari per a que les aplicacions KDE 4 apareguin el teu escriptori KDE 3.}}
Totes les variables d'entorn i tota la resta hauria de ser establert correctament per el teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per iniciar una aplicació, senzillament escriu el seu nom; per exemple <syntaxhighlight lang="bash">kwrite</code>
{{Note (ca)|
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
* executa <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</code>
}}
{{Note (ca)|
Si obtens un error sobre que no es pot connectar al servidor d'X, assegura't d'executar
<syntaxhighlight lang="bash">sudo xhost +local:kde-devel</code>
com al teu usuari regular de KDE 3 per a assecurar que la aplicació pot connectar a la teva sessió d'X actual.
 
Tot i que el teu servidor d'X hauria d'acceptar les connexions TCP entrants, això és sovint desactivat per defecte a les distribucions (com ara a Kubuntu Feisty). Llavors emprant <tt>kdm</tt> has d'editar <tt>/etc/kde3/kdm/kdmrc</tt> com a root i assegurar-te que no conté:
<syntaxhighlight lang="text">ServerArgsLocal=-nolisten tcp</code>
Una vegada hagis arreglat això, necessitaràs reiniciar el teu servidor d'X. La comanda <tt>xhost</tt> ja no hauria de retornarun error "unable to open display".
 
Per conveniència, haurias de posar això a l'Autostart del teu usuari regular. Per fer això, crea un nou fitxer al directori <tt>$HOME/.kde/Autostart</tt> del teu usuari regular amb el contingut següent:
<syntaxhighlight lang="bash">
#! /bin/sh
xhost +local:kde-devel
</code>
Assegura't de que el nou fitxer és executable emprant <tt>chmod +x</tt> en ell.
 
Si vol saber més dels '''problemes de segueretat''' en relació a emprar <tt>xhost</tt>, mira [http://bau2.uibk.ac.at/matic/xsecur.htm aquest article]
}}
 
==== Emprant SSH ====
 
La manera més simple d'executar una aplicació KDE 4 amb SSH en el teu entorn d'escriptor actual és obtindre una consola de shell conscient de les X com a l'usuari <tt>kde-devel</tt> d'aquesta manera:
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost</code>
Ara pots executar aplicacions KDE com sempre, per exemple:
<syntaxhighlight lang="bash">kwrite</code>
Les dues línies poden ser combinades convenientment:
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost kwrite</code>
 
{{Note (ca)|
Si això et dona qualsevol error, prova els consells per a problemes de la secció de sobre.
}}
 
===== Identificació sense clau d'accés =====
Abans que es pugui fer res seriòs amb aquest mètode, es necessita configurar un loguin sense clau d'accés. Per començar, executa la següent comanda com a l'usuari regular de l'escriptori:
<syntaxhighlight lang="bash">ssh-keygen -t rsa</code>
Prem enter tres vegades i accpeta la ruta de {{path|~/.ssh/id_rsa}} i una clau d'accés buida. Ara, copia la línia a {{path|~/.ssh/id_rsa.pub}} que ha sortit deprés d'executar aquesta comanda:
<syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub</code>
Després de copiar aquesta línia, <tt>ssh</tt> de nou a l'usuari <tt>kde-devel</tt> i posa la línia copiada al fitxer {{path|$HOME/.ssh/authorized_keys}}:
 ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
  $HOME/.ssh/authorized_keys
Copia la línia, guarda el fitxer, i tanca KWrite. Ara prova d'executar KWrite de nou amb la mateixa comanda SSH; ja no hauries d'haver d'entrar cap clau d'accés:
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost $HOME/kde/bin/kwrite</code>
 
{{Warning (ca)|Emprant un login SSH sense clau d'accés té cert '''risc de seguretat''', així que assegura't de protegir el teu fitxer <tt>~/.ssh/id_rsa</tt> restringint-ne l'accés amb 
<syntaxhighlight lang="bash">chmod og-xrw ~/.ssh/id_rsa</code>(tot i que el fitxer hauria de tenir aquests permissos quan és creat)}}
 
===== El fitxer d'escriptori SSH =====
Si vols poder llençar aplicacions més fàcilment que executar-les amb una comanda SSH des de la consola, una manera de fe-rho és crear arxius <tt>.desktop</tt> que fan <tt>ssh</tt> a l'atre compta.
{{Note (ca)|Això només serà útil si el teu entorn d'escriptori suporta fitxers .desktop, però al menys KDE i GNOME ho fan.}}
 
Pots començar amb un fitxer .desktop existent com a plantilla (com la del teu escriptori) o pots fer-ne un de nou des de zero. La idea principal és prefixar la comanda executada amb aquesta cadena:
<syntaxhighlight lang="bash">
ssh -X kde-devel@localhost $HOME/kde/bin/
</code>
 
Un fitxer .desktop senzill que executa KWrite contindria el següent:
 
<syntaxhighlight lang="ini">
[Desktop Entry]
Categories=Qt;KDE;TextEditor;
Comment=
DocPath=kwrite/index.html
Encoding=UTF-8
Exec=ssh -X kde-devel@localhost /home/kde-devel/kde/bin/kwrite %U
GenericName=Text Editor
Icon=kwrite
InitialPreference=8
MimeType=text/plain
Name=KWrite (kde-devel)
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-StartupType=Multi
X-DCOP-ServiceType=non
X-KDE-StartupNotify=true
X-KDE-SubstituteUID=false
X-KDE-Username=
</code>
 
{{Tip (ca)|Les aplicacions llençades emprat SSH d'aquesta manera no retornen les respostes de llençament correctes, així que provablement voldràs desactivar "launch feedback" als teus fitxers .desktop}}
 
{{note (ca)|Per tal de crear un fitxer .desktop per a una aplicació KDE 4 emprant aquest mètode, el paquet de l'aplicació haurà d'estar instal·lat a <tt>~/kde/bin</tt> emprant la comanda <tt>cmakekde</tt>}}
 
=== Arrencant sessions KDE 4 ===
==== Sessions KDE 4 anidades ====
    {|align="right" 
    |[[image:Snapshot1.png|right|thumb|200px|Anidada]]
    |}
En comptes d'emprar una nova X virtual completa per a desenvolupar sofware pots anidar la teva sessió KDE 4 en el teu entorn KDE 3 o qualsevol altre entorn X11.
 
Pots també fer això amb xnest, però com que xnest no pot fer anar extensions com ara Render molta gent prefereix Xephyr.
 
Si vols una sessió KDE mínim engegada i funcionant, només llença Xephyr (disponible a Kubuntu com a xserver-xephyr; Els usuaris de Gentoo compilen x11-base/xorg-server amb USE="kdrive"):
 
 Xephyr :1 -extension GLX &
 
Ara pots arrencar KDE:
 
 export DISPLAY=:1
 /path/to/kde4/bin/startkde-modified &
 
startkde-modified és una còpia de startkde-script que inclou les següents línies al cap d'amunt:
 
<syntaxhighlight lang="bash">
export KDEDIR=`kde4-config --prefix`
export LD_LIBRARY_PATH=$KDEDIR/lib
export PATH=$KDEDIR/bin/:$PATH
export KDEHOME=~/.kde4
</code>
 
Pots també emprar Xephyr amb KDM mitjançant el protocol Xdmcp i senzillament una  nova sessió a KDM.
 
A Kubuntu, pots activar-ho canviant
 
<syntaxhighlight lang="ini">
[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=false
</code>
 
in {{path|/etc/kde3/kdm/kdmrc}} to
 
<syntaxhighlight lang="ini">
[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true
</code>
 
I ajustar el teu {{path|/etc/kde3/kdm/Xaccess}} per a permetre a la teva màquina local accedir. Addicionalment hauries d'assegurar-te de configurar una política de bloqueix de ports a totes les interfícies externes per al port Xdmcp si estàs fent aio en un portàtil o en un PC en un entorn no confiable.
 
Si ja estàs, senzillament executa Xephyr:
 
 Xephyr -query localhost :1 -host-cursor -screen 1024x768&
 
On <tt>-host-cursor</tt> prova de reutilitzar el cursor del host i <tt>-screen</tt> determina les dimensions de la pantalla.
 
{{Note (ca)|Si reps molts errors de connexió refusada, pots voler emprar l'opció -ac a Xephyr. Per exemple:
 
 <syntaxhighlight lang="text">Xephyr -ac :1&</code>
 
Una altre opció a provar si reps molt errors de connexió refusada és mirar si necessites donar permissos al teu usuari kde-devel al teu servidor X. Com a root o emprant sudo executa:
 
 <syntaxhighlight lang="text">xhost +local:kde-devel</code>
 
Si no tens Xephyr, pots també emprar Xnest:
 
 <syntaxhighlight lang="text">Xnest -ac :1& export DISPLAY=:1</code>
}}
<BR>
-----
{{Improve (ca)}}
[[User:Sping|Sping]] 00:25, 9 April 2007 (CEST)<BR>
Jo utilitzo això per al meu script d'inici ''nested_kde4.sh'':
 
 #! /bin/bash
 NESTED_KDE_DISPLAY_BACKUP=$DISPLAY
 export DISPLAY=:0
 Xephyr :1 -screen 1024x768 &
 export DISPLAY=:1
 $HOME/kde/bin/startkde-modified &
 export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}
 
Si et trobes amb
 
 "Call to lnusertemp failed (temporary directories full?).
  Check your installation."
 
prova això:
 
 mkdir /var/tmp/kde-devel-kde4
 
El codi de sobre assumeix que treballes amb l'usuari ''kde-devel''.
{{Note (ca)|En la majoria de casos has de substituir ''startkde-modified'' per ''startkde''}}
-----
 
==== Sessió KDE 4 en solitari ====
    {|align="right" 
    |[[image:solitary.png|right|thumb|200px|Solitari]]
    |}
Per a executar un entorn d'escriptori KDE 4 complet, pots iniciar-lo des de la consola com ho faries normalment, amb una cosa com aquesta:
 
 X :1 & export DISPLAY=:1
 startkde
 
{{Note (ca)|Si el servidor X refusa la connexió dient una cosa com: <tt>Xlib: connection to ":1.0" refused by server</tt>, prova <tt>X -ac :1</tt>.}}
 
o pots afegir-ho al teu gestor de sessió. Si estàs emprant KDM (o un gestor de sessió compatible) això es fa creant un fitxer .desktop tant a {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} o a {{path|/usr/share/xsessions/}}. El més fàcil de fer és copiar un fitxer {{path|kde.desktop}} existent i renombrar-lo a {{path|kde4.desktop}}. Obre aquest nou fitxer .desktop en un editor de text i canvia les entrades <tt>Exec</tt>, <tt>TryExec</tt> i <tt>Name</tt> per a que siguin de la següent manera:
 
<syntaxhighlight lang="ini">
Exec=$HOME/kde/bin/startkde
TryExec=$HOME/kde/bin/startkde
Name=KDE4
</code>
 
Substitueix {{path|$HOME/kde}} a l'exemple de sobre amb el prefixe d'on estàs instal·lant KDE4.
 
Després de reiniciar el gestor de sessió (<tt>Alt+e</tt> a KDM) aquesta nova entrada hauria d'apareixer al menú de sessions.
 
Pots haver d'editar els teus scripts startkde, 
pe: canivar això
<syntaxhighlight lang="ini">kdehome=$HOME/.kde</code>
a això
<syntaxhighlight lang="ini">kdehome=$HOME/.kde4</code>
o enganxar això
<syntaxhighlight lang="ini">
export KDEDIR=`kde4-config --prefix`
export LD_LIBRARY_PATH=$KDEDIR/lib
export PATH=$KDEDIR/bin/:$PATH
export KDEHOME=~/.kde4
</code>
al cap d'amunt.
 
{{Note (ca)|Hauries de tenir la ruta al programa 'qdbus' (normalment és a $QTDIR/bin) al teu $PATH per a loguejar-te correctament. Si no és allí, rebràs un missatge d'error "Could not start DBus. Check your installation."}}
 
== Tasques de desenvolupament ==
=== KDevelop ===
 
Aquesta secció t'explicacarà com emprar KDevelop 3.4 per a desenvolupar aplicacions KDE 4. Si tens cap dubte, correccions o queixes sobre aquesta secció, si us plau posa-les a la plana de discusió.
 
==== Prerequisits ====
 
Necessites al menys KDevelop 3.4 per fer això, el qual encara és una aplicació KDE 3. Versions inferiors a la 3.4 no tindràn suport per a Qt 4 entre d'altres coses. La versió de KDE 4 de KDevelop encara no està llesta per al desenvolupament seriòs. Pots obtindre KDevelop de la [http://www.kdevelop.org/index.html?filename=3.4/download.html plana de KDevelop]. Assegura't d'instal·lar KDevelop com tota la resta d'aplicacions KDE 3, '''no''' com amb el teu usuari ''kde-devel''.
 
També necessites la darrera versió de ''GDB'' , que actualment és la 6.6.0.
{{Note (ca)|La versió de GDB que té '''openSuse 10.3 no funciona''', peta continuament quan examina variables (cosa que KDevelop fa automàticament). Empra la versió de GDB [http://download.opensuse.org/repositories/home:/amilcarlucas/openSUSE_10.3/ d'aquest repositori] en el seu lloc.}}
 
Necessitaràs tenir la documentació de l'API de kdelibs localment, que es descriu a [[Getting_Started/Build/KDE4#Generating_local_API_documentation|instruccions de compliació]].
 
També necessites ''ctags'', ''htdig'', ''htmerge'' i ''htsearch''. ''valgrind'' i ''callgrind'' també poden ser útils.
 
Assegura't que has seguit els passos de les [[Getting_Started/Build/KDE4|instructions de compilació]] de KDE 4 i tens un entorn de treball KDE 4 funcional. Assegura't que aplicacions senzilles de KDE 4 com ara ''Konsole'' o ''KWrite'' poden ser iniciades des de la linia de ocmandes per l'usuari ''kde-devel'' sense problemes.
 
Els següents passos es fan tots amb l'usuari ''kde-devel''. Necessites loguejar-te com aquest usuari escrivint
 su - kde-devel
 
==== Configurant l'entorn ====
 
KDevelop no té suport natiu per als projectes CMake. Afortunadament, CMake té l'abilitat de generar fitxers de projecte KDevelop ell mateix. Per tal de fer aio, necessites passar el paràmetre ''-GKDevelop3'' a la comanda ''cmake''. Això li diu a CMake que generi els fitxers de projecte per a KDevelop juntament amb els makefiles normals. La millor manera de fer això és modificar la teva ''cmakekde'' al teu fitxer [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]. Només canvia
<syntaxhighlight lang="bash">
cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull&& \
make && \
make install;
</code>
per
<syntaxhighlight lang="bash">
cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull&& \
make && \
make install;
</code>
 
Després de que hagis fer això, relogueja per a que els canvis al fitxer {{path|.bashrc}} tinguin efecte. Quan necessitis reexecutar la comanda ''cmakekde'' al directori de compilació (arrel) del projecte amb que vulguis treballar amb KDevelop (si no has fet servir ''-GKDevelop3'' al [[Getting_Started/Build/KDE4#Setting_up_the_environment|pas de compliació]]). Per exemple, si vols treballar a Konsola, que vui a ''kdebase'', necessites executar cmakekde al directori {{path|$KDE_BUILD/KDE/kdebase}}. Això desafortunadament recompila completament tot, però només quan canvies el generador.
 
Com que totes les variables d'entorn de l'usuari kde-devel són específiques per a KDE 4, es necessita posar-les de manera que concordin amb el teu entorn KDE 3 abans d'iniciar KDevelop.
Una manera senzilla de fer aio és afegir la següent funció al teu {{path|.bashrc}}:
 
<syntaxhighlight lang="bash">
function start3app {
  mkdir -p /tmp/$USER-kde
  export PATH=/opt/kde3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games 
  export LD_LIBRARY_PATH= 
  export KDETMP=/tmp/$USER-kde 
  export KDEVARTMP=/var/tmp/$USER-kde 
  export KDEHOME=$HOME/.kde 
  export KDEDIR=/usr 
  export KDEDIRS=$KDEDIR 
  export DISPLAY=:0 
  eval "$@"
  source $HOME/.bashrc   #Reset environment variables again
}
</code>
 
Les variables ''PATH'' i ''LD_LIBRARY_PATH'' són agafades de l'usuari de KDE 3, i poden ser diferents al teu sistema. Escriu <syntaxhighlight lang="bash">echo $PATH</code> i <syntaxhighlight lang="bash">echo $LD_LIBRARY_PATH</code> com a usuari normal de KDE 3 per a obtindre aquests valors. La funció de sobre assumeix que KDE 3 és instal·lat al prefix {{path|/usr}}, com és el cas en els sistemes basats en Debian. Si el teu KDE 3 està instal·lat en un prefix diferent, necessites canviar la línia ''KDEDIR'' d'acord amb això. Aquí hi ha un exemple de com trobes el prefix de la teva isntal·lació de KDE; en aquest exemple és /opt/kde3:
 
<syntaxhighlight lang="bash">
kde-config --prefix
/opt/kde3
</code>
 
Ara hauries de ser capaç d'iniciar KDevelop escrivint <tt>start3app kdevelop</tt>. Fes-ho ara.
 
{{Tip (ca)|
Pots inciciar qualsevol aplicació KDE 3 amb la funció <tt>start3app</tt>. Són cancidats útils ''Kompare'' i ''kdesvn''.
 
Tot i això, no pots iniciar ''KDbg'' d'aquesta manera der a depurar aplicacions KDE 4, ja que les variables d'entorns per a l'aplicació depurada són incorrectes.
}}
 
 
===== Problemes =====
 
'''Simptoma:''' kdevelop diu "cannot talk to klauncher". No pots obrir un fitxer.
 
'''Solució:''' afegeix la ruta de la teva llibreria KDE a LD_LIBRARY_PATH, p.e.:
 export LD_LIBRARY_PATH=/opt/kde3/lib
 
==== Configurant KDevelop ====
 
Ara que KDevelop s'ha iniciat, necessites ajustar unes poques opcions. Ves a ''Settings->Configure KDevelop...->Documentation'' per a fer-ho. Esborra totes les entrades que no siguin rellevants per a la programació KDE 4.
 
{{note (ca)|Tot i que en aquesta secció s'empren variables d'entorn com ara $HOME, hauries de substituir-les per rutes reals perquè KDevelop no resol variables d'entorn.}}
 
Opcionalment, pots afegir la documentació de l'API kdelibs. Has de [[Getting_Started/Build/KDE4#Generating_local_API_documentation|crear-la abans]]. Llavors afegeix la documentació prement ''Add...''. En aquest diàleg, empra els següents paràmetres:
* ''Type'': Doxygen Documentation Collection (necessita posar-se primer)
* ''Location'': {{path|$KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html}}
 
Ara afegeix la documentació de l'API Qt, que també ha de ser [[Getting_Started/Build/KDE4/Prerequisites#Generating_local_API_documentation|creada abans]], emprant els següents paràmetres:
* ''Type'': Qt Documentation Collection (necessita posar-se primer)
* ''Location'': {{path|$HOME/qt-copy/doc/html/qt.dcf}}
 
Després de que hagis afegit kdelibs i la documentació de l'API de Qt, assegurat que tots els quadres de confirmació (''TOC'',''Index'' and ''Search'') estiguin marcats. Llavors, vers a la pestanya ''Full Text Search'' i assegura't que les rutes als executables ''htdig'', ''htmerge'' i ''htsearch'' siguin correctes. Pots tancar llavors el diàleg de configuració.
 
Ara és hora d'obrir el projecte en el que vols treballar clicant a ''Project->Open Project...''. Els fitxers del projecte es troben al directori de compliació. Per exemple, si vols treballar en Konsole,necessites obrir {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop}}. Ara necessites ajustar unes poques opcions especifiques del projecte a ''Project->Project Options''. Necessites fer això cada vegada que comencis a treballar en un projecte diferent.
 
{{note (ca)|
A vegades, un fitxer de projecte KDevelop no és present per la carpeta on vols treballar.
 
Això pot ser degut a diverses raons, depen de com són escrits els fitxers CMake. Normalment, els fitxers CMake que tenen la crida <tt>project(projectname)</tt> en ells solen funcionar bé. Una vegada estiguis suficientment familiaritzat amb CMake, pots provar d'afegir-hi la crida.
 
A workaround for this is to simply use the KDevelop project file of the parent folder, or even higher. In this case, you need to use the <tt>Make Active Directory</tt> entry in the context menu of the <tt>File Selector</tt> sidetab. With this, you can ignore the other unwanted folders when building and installing.
}}
 
* ''C++ Support->Code Completion''
:Here you need to add code completion databases for Qt and kdelibs, and more if you like, for example you might need a database for ''kdepimlibs'' when working on ''kdepim''.
 
:For kdelibs, click the ''Add...'' button and choose ''KDevelop Custom Directory PCS Importer'', then add your KDE include directory ({{path|$HOME/kde/include}}) to the list and proceed. You can use the file selection dialog and the ''Add'' button to add it. 
 
:Now, add the database for Qt 4 by selecting ''KDevelop Qt4 PCS Importer'' this time. You need to select the Qt 4 include directory, which is {{path|$HOME/qt-copy/include}}.
 
{{note|The Qt4 PCS Importer is only needed if you didn't install Qt4, i.e. you use it directly from the build directory. The drawback of using the Qt4 importer is that it doesn't show progress and the application seems to hang while it imports. The alternative is to use the Custom Directory PCS Importer for this too}}
 
* ''C++ Support->Qt Options''
:Check ''Enable Qt options'' and choose Qt4 as your version. Set the ''QMake Binary'' path to {{path|$HOME/qt-copy/bin/qmake}}. Then choose ''Qt 4 style'' as ''Qt include syntax''. Use {{path|$HOME/qt-copy/bin/designer}} as ''Designer Binary''. Make sure to use the ''Change Plugin Paths'' dialog to add the plugin directory from KDE so you see the KDE widgets when designer is started. To do this add {{path|$HOME/kde/lib/kde4/plugins}} to the lineedit and then click the ''Add'' button.
 
* ''Run Options''
:Make sure you use the correct binary as ''Executable''. For example, if you want to run Konsole, this is {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/src/konsole}}. You should add ''--nofork'' to the ''Debug Arguments'' or debugging some applications like ''KMail'' will not work at all.
 
:Because the ''start3app'' functions changes some environment variables, you need to change them back here so the KDE 4 applications can be run without problems from within KDevelop.
:For some applications, like Konsole, this is not strictly necessary, but others like KMail will crash if you do not change this.
:Simply click the ''Add / Copy'' button to add new environment variables. You will need the following, which are the same as in your [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]:
 
:{| border="1"
|-
! Name
! Value
|-
| KDEHOME
| $HOME/.kde4
|-
| PATH
| $KDEDIR/bin:$QTDIR/bin:/usr/local/bin:$PATH
|-
| LD_LIBRARY_PATH
| $KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
|-
| KDETMP
| /tmp/$USER-kde4
|-
| KDEVARTMP
| /var/tmp/$USER-kde4
|-
| KDEDIR
| $HOME/kde
|-
| KDEDIRS
| $KDEDIR
|-
| LD_BIND_NOW
| 42
|}
 
 
 
* ''Build Options->Build''
:Make sure the correct build directory is selected. Again, for Konsole, this would be {{path|$KDE_BUILD/KDE/kdebase/apps/konsole}}.
 
* ''Build Options->Make''
:You might want to check ''Abort on first error''. You also might want to add ''VERBOSE='' or ''VERBOSE=1'' to ''Additional make options'' to control the level of verbosity for the build process.
 
:If you have more than one processor or if you have access to an icecream cluster, you might want to check the ''Run multiple jobs'' option and set the ''Number of simultaneous jobs'' to the number of available processors. This increases the compile speed. It is the same as the <tt>-j</tt> option for ''make''.
 
* ''Formatting''
:You should set all options here to match the coding style of the project you are working on.
 
* ''CTags->General''
:You need to correctly set the ''Path to ctags binary'', which is {{path|/usr/bin/ctags}} on Debian-based systems. 
 
:You probably want to enable the <tt>When more than one hit, go directly to the first</tt> option.
 
Now you have finished adjusting your project-specific settings. Now you should remove some plugins you do not need, in ''Settings->Configure Plugins...''. I for example disable the following plugins: 
 
<small>Abbreviation Expansion, Code Snippets, Doxygen Support, Embedded Konsole, File Tree, '''Final Packaging Support''', "Open with" Menu Addon, QuickOpen, Regular Expression Tester, Scripting, '''Security Checker''', Shell Filtering and Insertion, Text Structure and Tools Menu Addition.</small>
 
You should at least disable the bold ones.
 
Now, open any source file if none is open already. This will enable the ''Settings->Configure Editor...'' entry, where you need to set the tab options to match the tab style used by the project you are working on. The important settings are:
* ''Appearance->Borders->Show line numbers'': Should be checked.
* ''Appearance->Borders->Show icon border'': Should be checked.
* ''Editing->Tabulators'' 
* ''Editing->Static Word Wrap->Show marker'': Should be checked
* ''Indentation->Automatic Indentation->Indentation mode'': Should be ''C Style''
* ''Indentation'' in general
 
In the mainwindow, click the ''CTags'' tab on the bottom tabbar, then click the ''Regenerate'' button to create a CTags database for easier source code navigation.
 
Now you have completed all essential configuration, congratulations!
 
==== Using KDevelop ====
 
Refer to the [http://docs.kde.org/development/en/kdevelop/kdevelop/ KDevelop manual] for general help using KDevelop. The following section will only deal with special cases for KDE 4.
 
===== Debugging =====
 
KDE apps have many symbols, which means that you need a lot of memory to get a decent loading times for debugging. To quote a GDB developer: "I would be reluctant to debug KDE on something with <1GB RAM."
If the stepping function of the debugger is slow for you, try the following tips:
* Hide local variables. The <tt>Locals</tt> part of the variable tab on the left causes a big slowdown when stepping if you have many local variables. Simple collapse the <tt>Locals</tt> part of the tree, the local variables are then not updated every step. You can still examine variables by using the <tt>Evaluate expression</tt> function.
* Use the patch at http://bugs.kde.org/show_bug.cgi?id=143977. It prevents the update of the framestack widget at each step, speeding up stepping considerably. The patch introduces some minor glitches, which is why it is not yet commited.
 
{{Note|
KDevelop does not yet support modifing the CMake build system. This means you can not use KDevelop to add or remove files from the project or to change any other aspect of your project's build process.
 
You need to modify the CMake files by hand and then rerun <tt>cmakekde</tt> instead. Read the [[Development/Tutorials/CMake|CMake tutorial]] to learn how to do this.
}}
 
{{tip|When you work on libraries, you first need to install them before you can test or debug your changes. 
Since this is cumbersome and time consuming, you should create symlinks ''(ln -s)'' pointing from the build directory to the installation directory for all affected libraries. 
 
Often, even simple programs use libraries internally, for example the settings dialog of Konsole is really a library.}}
 
[[Category:KDE4]]

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal