Manual de C/C++: Kdevelop

C y C++ son sin duda los lenguajes de programación más extendidos:

  • C: "el lenguaje", creado para programar Sistemas Operativos, permite hacer todo tipo de cosas.
  • C++: C con objetos, un superconjunto de C.

Vamos a ver una pequeña introducción a KDevelop, uno de los IDEs más utilizados para desarrollar aplicaciones en C/C++.

KDevelop (kdevelop.org) es un IDE (Integrated Development Environment, Entorno integrado de desarrollo) para programar en C y C++ en Linux, que utiliza las librerías Qt (trolltech.com, las del escritorio KDE). Está integrado con QtDesigner, el diseñador de interfaces gráficas de Trolltech.

Instalar KDevelop y crear un proyecto

Veamos cómo instalar KDevelop y crear un proyecto:

  • instalamos KDevelop (paquete kdevelop):
    # apt-get install kdevelop
  • abrimos KDevelop, seleccionamos Nuevo proyecto y se nos abrirá el Asistente, donde podremos seleccionamos el tipo de proyecto (en este caso Aplicación para KDE basada en Qtdesigner) y definir algunos datos básicos del proyecto, como Nombre del proyecto (HolaMundo) y Ubicación (/home/francis/holamundo):

    KDevelop - Asistente nuevo proyecto

  • nos pedirá los datos generales del proyecto: Autor, Email, Versión y Licencia (GPL):

    KDevelop - Datos generales

  • nos preguntará el sistema de control de versiones (CVS, Subversion…). Elegiremos Ninguno:

    KDevelop - Control de versiones

  • nos pedirá la plantilla a utilizar en el encabezado de los archivos .h y .cpp:

    KDevelop - Plantilla .h y .cpp

  • presionamos Finalizar y KDevelop creará el proyecto. Guardará los archivos en el directorio ~/holamundo, veremos los archivos de código fuente en el panel Árbol de archivos, podremos editarlos en el Editor y veremos los mensajes en el panel Mensajes:

    KDevelop - Interfaz

  • ahora podemos construir la aplicación seleccionando Construir proyecto. Una vez compilado el código fuente podemos ejecutar la aplicación seleccionando Ejecutar programa y obtendremos una ventana que sólo contiene un botón:

    Hello world antes Hello world despues

    Nota

    Puede que nos falte alguna librería de desarrollo, en cuyo caso obtendremos mensajes de error al compilar y tendremos que instalarlas. Por ejemplo, si nos tira el mensaje:

    Can't find X libraries. Please check your installation and add the correct paths!

    tendremos que instalar el paquete kdebase-dev.

Crear la interfaz gráfica con QtDesigner

Veamos cómo crear la interfaz gráfica con QtDesigner (se guarda en <nombre>widgetbase.ui):

  • para crear y modificar la interfaz gráfica KDevelop lleva integrado QtDesigner, de manera que tenemos dos opciones para editar interfaces gráficas:
    1. QtDesigner empotrado en KDevelop (KDevDesigner):

      KDevDesigner

    2. QtDesigner como aplicación independiente (paquete qt3-designer):

      QtDesigner

  • una vez tengamos el GUI terminado tendremos que asignar código (a mano) a los eventos de los controles para que hagan algo. Por ejemplo, cuando clickamos en el botón button la aplicación muestra el mensaje Hello World!. Para ello, en el panel Propiedades de button está definido el evento (señal) clicked:

    Eventos

    Y en el archivo <nombre>widget.cpp figura la siguiente función (manejador):

    void HolaMundoWidget::button_clicked() {
        label->setText( "Hello World!" );
    }

Distribuir e instalar una aplicación

Veamos cómo compilar, ejecutar, distribuir e instalar nuestra aplicación:

  • para instalar la aplicación en nuestra máquina seleccionaremos Instalar (como root).
  • para generar el archivo holamundo-0.1.tar.gz listo para distribuir (contiene código fuente) seleccionaremos Distribución y publicación del proyecto.
  • para instalar nuestra aplicación en otra máquina realizaremos los mismos pasos que con cualquier otro tar.gz de código fuente:
    # ./configure
    # make
    # make install

Artículos en la categoría "Manual de C/C++"

  1. Manual de C/C++: El compilador GCC
  2. Manual de C/C++: El debugger GDB
  3. Manual de C/C++: El estándar de programación GNU
  4. Manual de C/C++: Anjuta
  5. Manual de C/C++: Kdevelop

9 Comments:

  1. Hola, muy bueno. Siempre busqué que mis programas en C++ fueran compatibles con Linux, usaba SDL, etc, aunque lo mejor es compilarlos directamente con la gcc y ver si en verdad funcionan. A mi me saltaba un mensaje parecido de error al indicado más arriba, así que debe ser que me falta alguna librería. Mi versión de Linux actual es Open SuSe 10.3, antes usaba Turbo Linux Workstation 6.0 pero es un chiste comparado con las versiones actuales de Linux.

  2. Excelente, no es facil encontrar informacion de esta indole, pero aqui si lo iluminan a uno. Adelante y gracias.

  3. tengo una problemita, he creado un proyecto (como empty custom makefile template) y edite un main.cpp, No tuve problemas para compilar, pero cuando ejecuto siempre me sale mensaje:

    cd ‘/home/julio/ProyectoSGBD/SGBD’ && LC_MESSAGES=”C” LC_CTYPE=”C” make -k
    make: *** No targets. Stop.
    *** Exited with status: 2 ***

  4. espectacular….JUSTO lo que necesitaba…

  5. Buen tutorial
    aunq me tira un error

    ……..
    checking for rpath… yes
    configure: error:
    in the prefix, you’ve chosen, are no KDE libraries installed. This will fail.
    So, check this please and use another prefix!
    checking for KDE…
    ***Terminado con estado 1***

    no tengo idea como arreglarlo, alguien tiene alguna idea?

  6. resuelto…
    me faltaban librerias.. cuales????
    vean en synaptic que librerias les faltan, yo baje caleta y me funciono, algunas eran muy viejas :)

  7. me podrian ayudar dandome el nombre de 5 librerias de kdevelop estare muy agradecida

  8. Problema en compilacion kvdevelop

    Hola estoy intentando compilar una aplicacion que he encontrado en internet para poder conectarme con base de datos oracle.La version de kvdevelop es la 4.2
    He creado el proyecto y tengo todas las liberias pero parece que una parte del proyecto no me la compila bie,solo compila el main y los otros fichero no.
    El error que me da es:
    CMakeFiles/dboracle.dir/main.cpp.o: In function `main’:
    /home/administrador/projects/DBOracle/DbOracle/main.cpp:9: undefined reference
    to `Connect()
    Me da en connect porque es la primera instruccion del main,el codigo que tengo es este:
    #include
    #include “dbclient/dbclient.h”

    int main(int argc, char* argv[])
    {
    Connect();

    printf(“Connect OK.n”);
    RecordSet set;
    set.Open(“select * from master”);
    for(int k=0;k<set.GetRecordsCount();k++)
    {
    Record *pRec=set.GetRecord(k);
    for(int l=0;lGetFieldsCount();l++)
    {
    printf(“%s”,pRec->GetFieldValue(l));
    if(l==(pRec->GetFieldsCount()-1))
    printf(“n”);
    else
    printf(“t”);
    }
    }

    //ExecCommand(“select empno,ename,job,mgr,to_char(hiredate,’yyyy/mm/dd’) hiredate,sal,comm,deptno from EMP”);
    DisConnect();
    return 0;
    }

    Tengo definido arriba la ruta de dbclient.h que es donde deberia entrar para seguir compilandose pero no lo hace.
    ¿Porque puede ocurrir esto?????Ayudaaaa