Introducción a Patrones de Diseño en C++ con Qt4:1.3

Versión para imprimir esta pagina

Instalando C++/Qt: Plataformas Open Source

editar

Las herramientas de desarrollo Open source (ssh, bash, gcc) están disponibles nativamente en UNIX y sus plataformas relacionadas. Esto incluye a Mac OS/X, que es una distribución basada en BSD[1].


Cuando discutimos algo que es específico para plataformas derivadas de UNIX (Linux, BSD, Solaris, etc), usaremos la contracción *nix para “la mayoría de sabores de UNIX.“


Otro acrónimo importante es POSIX, que se entiende como Portable Operating System Interface for UNIX. El desarrollo de esta familia de estándares fue auspiciado por IEEE (Institute of Electrical and Electronics Engineers), una organización de ingenieros, científicos y estudiantes, mejor conocidos por desarrollar estándares para la industria electrónica y computación[2].


Esta sección es para lectores que tienen alguno de los sabores de *nix instalado.


Los ejemplos en este libro fueron probados con Qt 4.1. Te recomendamos utilizar la misma versión o una más reciente. El primer paso eb configurar tu computadora para este libro es estar seguros de que la instalación de Qt 4 esta disponible para ti. Esto incluye, en adicción a las fuentes y códigos de librería compilados, el systema de documentación Qt Assistant, Ejemplos de programas, Y el programa Qt Designer.

Nota:
Si tu sistema tiene instalado KDE 3.x (El Entorno de escritorio K), entonces tiene en realidad una versión de Qt 3.x instalada. Qt 4 necesita ser instalado por separado. Nuestros ejemplos no se compilan bajo Qt 3



Para ver que (si la hay) versión de Qt esta realmente instalada en tu sistema, inicia con los siguientes comandos:


which qmake
qmake -v


La salida del primer comando te dirá donde esta alojado el ejecutable de qmake. Si esta salida se ve como esto: bash: qmake: command not found, entonces es posible que:


  1. Qt "completo” (incluyendo herramientas de desarrollo) no está instalado.
  2. Está instalado, pero tu PATH no incluye /ruta/a/qt4/bin


Si puedes correrlo, qmake -v proporciona informes sobre la versión. Si reporta que estas usando una versión Qt 4.x.y, revisa que estas otras herramientas Qt están disponibles: moc, uic, assistant, y designer.


Si estos ejecutables se encuentran todos y coincide la versión, Qt 4 está instalado y listo para usarse.


Si las pruebas de las líneas arriba indicadas te han dado una versión anterior o que no hay ningún Qt instalado, o has perdido algunos componentes de Qt4, entonces nececitas construir o instalar la última versión liberada de Qt4 y seleccionar los ejecutables de Qt 4 dentro de tu ruta por defecto.


Instalando Qt4 desde paquetes
Usando tu administrador de paquetes *nix (p.e. apt, urmpi, aptitude, synaptic, rpmdrake, portage, etc.) puedes fácil y rápidamente instalar los paquetes que comprenden Qt 4. Esta es una lista de los paquetes Qt4 disponibles en sistemas Debian (la lista puede diferir en otras distribuciones)
# apt-cache search qt4
libqt4-core - Qt4 core non-GUI functionality runtime library
libqt4-debug - Qt4 debugging runtime libraries
libqt4-dev - Qt4 development files
libqt4-gui - Qt4 core GUI functionality runtime library
libqt4-qt3support - Qt3 compatibility library for Qt 4
libqt4-sql - Qt4 SQL database module
qt4-designer - Qt4 Designer
qt4-dev-tools - Qt4 development tools
qt4-doc - Qt4 API documentation
libqt4-designer - Qt4 Designer libraries


Descargando desde las fuentes

editar

Puedes descargar, desempacar y compilar el último tarball de código abierto desde TrollTech. Dos lugares típico para desempacar el tarball son /usr/local/ (si eres root) ó $HOME/qt (si no lo eres).


Nota:
Un tarball es un archivo producido por el comando tar (tape archive) que puede combinar muchos archivos, tantos como se especifiquen en el comando, en un solo archivo (que generalmente lleva la extensión.tar) para facilitar su almacenamiento o transferencia. El archivo combinado generalmente es comprimido usando una utilería como gzip ó bzip2, que agrega la extensión .gz ó .bz al archivo tar.


La línea de comando para desempacar un tarball depende de como fue creado. Usualmente puedes determinar esto por su extensión.


  • tar -vxf whatever.tar // usando el modo "verbose"
  • tar -zxf whatever.tar.gz // comprimido con gzip
  • tar -zxf whatever.tgz // también comprimido con gzip
  • tar -jxf whatever.tar.bz2 // comprimido con bzip2


Un archivo tar puede preservar estructuras de directorio y muchas opciones e interruptores. Puedes leer la documentación en línea de esas utilerias escribiendo:

info tar 
info gzip
info bzip


El tarball de fuente Qt contiene el código fuente completo de la librería Qt, además de numerosos ejemplos, tutoriales y extensiones con una documentación de referencia completa. El tarball contiene instrucciones simples de instalación (en los archivos README e INSTALL)y un mensaje en configure --help. Asegúrate de leer el archivo README antes de intentar software desde cualquier tarball de fuente abierta.

La compilación de la fuente puede tomar 2 o 3 horas (dependiendo de la velocidad de tu sistema), pero es una espera que vale la pena. El Ejemplo 1.1 muestra las opciones que utilizamos para configurar Qt 4.

Ejemplo 1.1

editar
Ejemplo: Ejemplo 1.1.
../bin/qtconfigure
#!/bin/sh
# Este es un script que utilizo para configurar y
# hacer qt4 - incluye opciones extras que utilizo para trabajar con MySQL.
#
# Antes de correr esto, asegúrate de que cuentas al menos con
# los archivos de cabecera del cliente mysql :

# apt-get install libmysqlclient-dev mysql-server mysql-client

# cambia esto al lugar en donde deseas instalar:

./configure -fast -qt-gif -system-sqlite -debug \
           -I/usr/include/mysql -qt-sql-mysql -plugin-sql-mysql

# make


Después de que Qt esté configurado, haz y luego instala (make, make install).

En el paso final, make install copia los ejecutables y cabeceras en otro lugar desde el árbol de directorios del tarball descomprimido. Si estas instalando en una ubicación común, necesitas ser root para hacer esto.

Consejo: Revisar la instalacón de Qt
Después de la instalación, prueba qmake -v para determinar que versión de qmake es reconocida por tu intérprete. Para sistemas que tienen más de una versión instalada, es importante hacer esto.
$ which qmake
/usr/local/qt-x11-opensource-src-4.1/bin/qmake
$ qmake -v
QMake version: 2.00a
Using Qt version 4.1 in /usr/local/qt-x11-opensource-src-4.1/lib
$

Variables de Entorno

editar

Después de instalar, revisa tus variables de entorno y asegúrate de que PATH y LD_LIBRARY_PATH contienen referencias apropiadas para el Qt instalado.


  • Usamos una variable llamada QTDIR para guardar la ruta al directorio de instalación principal de QT 4 [3].
  • PATH debería ser $QTDIR/bin (la ruta a los ejecutables de Qt).
  • MANPATH contendría $QTDIR/doc (la ruta a la documentación de Qt).
  • LD_LIBRARY_PATH contendría $QTDIR/lib (la ruta a las librerías de Qt).


Consejo: Env
El comando bash env muestra los valores actuales de todas tus variables de entorno.


Ejemplo 1.2

editar
Ejemplo: Ejemplo 1.2
Muestra como deben ser los valores con bash, pero el valor actual depende de donde están localizados en tu sistema
src/libs/utils/qt.sh
# Entorno específico del usuario típico y valores de arranque para QT
# Dependiendo de como y donde fue instalado Qt en tu sistema
export QTDIR=$QTDIR/bin:$PATH /usr/local/Trolltech/Qt-4.4.1
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
# Localización de tus propias librerías - origen y destino.
export CPPLIBS=~/cs331/projects/libs
# Ruta de la librería LD - donde se buscará por librerías de objetos compartidos
# en tiempo de ejecución.
export LD_LIBRARY_PATH=$CPPLIBS:$QTDIR/lib:$LD_LIBRARY_PATH
Versión para imprimir esta pagina

  1. BSD es mantenido por Berkeley Software Distribution, una facilidad de Computer Systems Research Group (CSRG) de la universidad de California a Berkeley. CSRG ha sido un importante centro de desarrollo para UNIX y para varios protocolos básicos (p.e., TCP/IP) desde la década de 1980.
  2. Si queremos escribir una expresión regular de POSIX ( Sección 13.2), para *nix, esta debería verse como esto: (lin|mac-os|un|solar|ir|ultr|ai|hp)[iu]?[sx].
  3. Qt 4 no requiere del uso de esta variable de entorno, pero nosotros la utilizamos para referirnos al directorio “Qt install” en nuestros ejemplos.