[138] | 1 | ------------------------
|
---|
| 2 | How-TO do a Test Project
|
---|
| 3 | ------------------------
|
---|
| 4 |
|
---|
| 5 | Changelog:
|
---|
| 6 |
|
---|
| 7 | 22/04/05 pplux -> primera revisión.
|
---|
| 8 |
|
---|
| 9 |
|
---|
| 10 | ----------------------------------------------------
|
---|
| 11 |
|
---|
| 12 |
|
---|
| 13 | *****************************
|
---|
| 14 | * Estructura de directorios *
|
---|
| 15 | *****************************
|
---|
| 16 |
|
---|
| 17 | Cuando nos referimos a "\" nos estamos refiriendo al directorio de donde parte
|
---|
| 18 | nuestro repositorio de trabajo diario, en cada caso puede ser diferente así que
|
---|
| 19 | es más sencillo partir de ahí para todas las explicaciones.
|
---|
| 20 |
|
---|
| 21 | Además de las posibles pruebas que se puedan hacer se ha reservado el
|
---|
| 22 | directorio "\extra" para utilidades (como por ejemplo el transformador de
|
---|
| 23 | mallas de ogre a GTGeometry y viceversa)
|
---|
| 24 |
|
---|
| 25 | El directorio para hacer pruebas, ya sean oficiales o propias es "\tests", y
|
---|
| 26 | cada prueba irá en un subdirectorio independiente del resto. Cada prueba tendrá
|
---|
| 27 | a su vez dos directorios diferentes "src" e "include" (y su uso es obvio) y los
|
---|
| 28 | ficheros de VisualStudio necesarios. El tener de esta forma separados los ficheros
|
---|
| 29 | de proyecto, .cpp y .h es una cuestión meramente organizativa y que permite construir
|
---|
| 30 | proyectos en base a otros proyectos fácilmente.
|
---|
| 31 |
|
---|
| 32 | Ejemplo "test_1":
|
---|
| 33 |
|
---|
| 34 | - creamos el directorio \tests\test_1
|
---|
| 35 | - creamos los directorios \tests\test_1\src y \tests\test_1\include
|
---|
| 36 | - en \tests\test_1 creamos un proyecto nuevo con VisualStudio.
|
---|
| 37 |
|
---|
| 38 | En el directorio \tests además de las pruebas encontraremos los directorios
|
---|
| 39 | bin, lib, y media. En bin se creará el ejecutable, dentro de bin
|
---|
| 40 | tenemos los directorios release y debug con las dll's necesarias para
|
---|
| 41 | funcionar. El directorio lib será necesario para compilar y media sirve de base
|
---|
| 42 | para cargar mallas, texturas, etc... que siempre son necesarias para tomar
|
---|
| 43 | "buenos screenshots".
|
---|
| 44 |
|
---|
| 45 |
|
---|
| 46 | *************************************
|
---|
| 47 | * Cómo configurar un proyecto nuevo *
|
---|
| 48 | *************************************
|
---|
| 49 |
|
---|
| 50 | Una vez creado un nuevo proyecto este es el conjunto mínimo de pasos para hacerlo
|
---|
| 51 | funcionar de una forma práctica y cómoda:
|
---|
| 52 |
|
---|
| 53 | - Si el proyecto esta vacío creamos el fichero "src\main.cpp" para poder editar
|
---|
| 54 | las opciones de C++.
|
---|
| 55 |
|
---|
| 56 | - Abrimos el diálogo de opciones de proyecto, y configuramos:
|
---|
| 57 |
|
---|
| 58 | ### Release y Debug ###
|
---|
| 59 | General -> Directorio de Resultados =
|
---|
| 60 | ..\bin\$(ConfigurationName)
|
---|
| 61 |
|
---|
| 62 | General -> Directorio Intermedio =
|
---|
| 63 | build\$(ConfigurationName)
|
---|
| 64 |
|
---|
| 65 | Depuración -> Directorio de Trabajo =
|
---|
| 66 | ..\bin\$(ConfigurationName)
|
---|
| 67 |
|
---|
| 68 | C/C++ -> General -> Directorios de inclusión adicionales =
|
---|
| 69 | .\include; ..\include; ..\..\ogre; ..\..\include
|
---|
| 70 |
|
---|
| 71 | Vinculador -> General -> Directorio de bibliotecas adicionales =
|
---|
| 72 | ..\lib\; ..\..\lib
|
---|
| 73 |
|
---|
| 74 | ### Release ###
|
---|
| 75 | C/C++ -> Generación de código -> Biblioteca en tiempo de ejecución =
|
---|
| 76 | DLL multiproceso (/MD)
|
---|
| 77 |
|
---|
| 78 | Vinculador -> Entrada -> Dependencias Adicionales =
|
---|
| 79 | OgreMain.lib GTGeometry.lib
|
---|
| 80 |
|
---|
| 81 | ### Debug ###
|
---|
| 82 | C/C++ -> Generación de código -> Biblioteca en tiempo de ejecución =
|
---|
| 83 | DLL de depuración multiproceso (/MDd)
|
---|
| 84 |
|
---|
| 85 | Vinculador -> Entrada -> Dependencias Adicionales =
|
---|
| 86 | OgreMain_d.lib GTGeometry_d.lib
|
---|
| 87 |
|
---|
| 88 |
|
---|
| 89 | Con estos pasos tendremos las pruebas funcionando siempre con directorios
|
---|
| 90 | relativos y comunes a todos, así que no debería haber ningún problema para
|
---|
| 91 | trabajar en grupo.
|
---|