Diferencia entre revisiones de «Introducción a Patrones de Diseño en C++ con Qt4/1.8 Makefile, qmake y archivos de proyecto»

Contenido eliminado Contenido añadido
Paynalton (discusión | contribs.)
Página creada con '{{nav2|Introducción a Patrones de Diseño en C++ con Qt4/1.7.1 Ejercicios:Diálogos Qt para entrada/salida de usuario|Ejercicios:Diálogos Qt para entrada/salida de usuario|Int…'
 
Paynalton (discusión | contribs.)
Línea 3:
=Makefile, qmake, y Archivos de Proyecto=
 
Las aplicaciones de C++ generalmente están compuestas por muchos archivos fuente, archivos de cabeceras y librerías externas. Durante el curso normal del desarrollo del proyecto, los archivos de origen y las librerías son agregadas, cambiadas o removidas. Durante la fase de prueba/desarrollo, el proyecto es recompilado y reenlazado muchas veces. Para producir un ejecutable, todos los archivos de origen cambiados deben ser recompilados y los archivos de objeto deben ser completamente reenlazados.
C++ applications are generally composed of many source files, header files, and external libraries. During the normal course of project development, source files and libraries get added, changed, or removed. During the testing/development phase, the project is recompiled and re-linked many times. To produce an executable, all changed source files must be recompiled, and the object files must all be re-linked.
 
Keeping track of all of the parts of such a project requires a mechanism that precisely specifies the input files involved, the tools needed to build, the intermediate targets and their dependencies, and the final executable target.
 
Tomando un rastro de todo, de todas las partes de cada uno un proyecto requiere un mecanismo que especifique con precisión los archivos involucrados, lar herramientas necesarias para construir, los objetivos intermedios y sus dependencias y el objetivo ejecutable final.
The most widely used utility for handling the job of building a project is make [7]. It reads the details of the project specifications and the instructions for the compiler from a Makefile, which resembles a shell script but contains (at a minimum):
 
*
 
La utilidad más ampliamente usada para manejar el trabajo de construir un proyecto es '''make'''<ref>En ''MS Dev Studio'', se le llama '''nmake'''</ref>. Este lee los detalles de las especificaciones del proyecto y las instrucciones del compilador desde un '''Makefile''', se asemeja a un script de consola, pero contiene (como mínimo):
Rules for building certain kinds of files (e.g., to get a .o file from a .cpp file, we must run gcc -c on the .cpp file)
*
 
Targets that specify which executables (or libraries) must be built
*
 
* Reglas para construir ciertos tipos de archivos (p.e. para obtener un archivo .o desde un archivo .cpp, debemos correr gcc -c en el archivo .cpp)
Dependencies that list which targets need to be rebuilt when certain files get changed
* Los objetivos que se especifican como ejecutables (o librerías) que deben ser construidos.
* Dependencias que listan que objetivos necesitan ser reconstruidos cuando ciertos archivos son cambiados.
 
The make command by default loads the file named Makefile from your current working directory and performs the specified build steps (compiling and linking).
 
El comando '''make''' carga por defecto el archivo llamado '''Makefile''' desde su directorio de trabajo actual y realiza los pasos de consstrucción especificados (compilado y enlace)
The immediate benefit of using make is that it recompiles only the files that need to be rebuilt, rather than blindly recompiling every source file every time. Figure 1.2 is a diagram which attempts show the steps involved in building a Qt application. To learn more about make, we recommend the book [Rehman03].
 
 
El beneficio inmediato de usar '''make''' es que este recompila solamente los archivos que necesitan ser reconstruidos, en vez de recompilar a ciegas cada archivo vcada vez. La Figura 1.2 es un diagrama que intenta mostrar los pasos involucrados en la construcción de una aplicación Qt. Para aprender más sobre '''make''', recomendamos el libro Rehman03.
 
Figure 1.2. (q)make build steps