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.
|
---|