Introducción a Patrones de Diseño en C++ con Qt4:1.3
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.
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:
- Qt "completo” (incluyendo herramientas de desarrollo) no está instalado.
- 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.
# 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).
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]#!/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.
$ 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).
Ejemplo 1.2
[editar]# 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
- ↑ 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.
- ↑ 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].
- ↑ Qt 4 no requiere del uso de esta variable de entorno, pero nosotros la utilizamos para referirnos al directorio “Qt install” en nuestros ejemplos.