------------------------ How-TO do a Test Project ------------------------ Changelog: 22/04/05 pplux -> primera revisión. ---------------------------------------------------- ***************************** * Estructura de directorios * ***************************** Cuando nos referimos a "\" nos estamos refiriendo al directorio de donde parte nuestro repositorio de trabajo diario, en cada caso puede ser diferente así que es más sencillo partir de ahí para todas las explicaciones. Además de las posibles pruebas que se puedan hacer se ha reservado el directorio "\extra" para utilidades (como por ejemplo el transformador de mallas de ogre a GTGeometry y viceversa) El directorio para hacer pruebas, ya sean oficiales o propias es "\tests", y cada prueba irá en un subdirectorio independiente del resto. Cada prueba tendrá a su vez dos directorios diferentes "src" e "include" (y su uso es obvio) y los ficheros de VisualStudio necesarios. El tener de esta forma separados los ficheros de proyecto, .cpp y .h es una cuestión meramente organizativa y que permite construir proyectos en base a otros proyectos fácilmente. Ejemplo "test_1": - creamos el directorio \tests\test_1 - creamos los directorios \tests\test_1\src y \tests\test_1\include - en \tests\test_1 creamos un proyecto nuevo con VisualStudio. En el directorio \tests además de las pruebas encontraremos los directorios bin, lib, y media. En bin se creará el ejecutable, dentro de bin tenemos los directorios release y debug con las dll's necesarias para funcionar. El directorio lib será necesario para compilar y media sirve de base para cargar mallas, texturas, etc... que siempre son necesarias para tomar "buenos screenshots". ************************************* * Cómo configurar un proyecto nuevo * ************************************* Una vez creado un nuevo proyecto este es el conjunto mínimo de pasos para hacerlo funcionar de una forma práctica y cómoda: - Si el proyecto esta vacío creamos el fichero "src\main.cpp" para poder editar las opciones de C++. - Abrimos el diálogo de opciones de proyecto, y configuramos: ### Release y Debug ### General -> Directorio de Resultados = ..\bin\$(ConfigurationName) General -> Directorio Intermedio = build\$(ConfigurationName) Depuración -> Directorio de Trabajo = ..\bin\$(ConfigurationName) C/C++ -> General -> Directorios de inclusión adicionales = .\include; ..\include; ..\..\ogre; ..\..\include Vinculador -> General -> Directorio de bibliotecas adicionales = ..\lib\; ..\..\lib ### Release ### C/C++ -> Generación de código -> Biblioteca en tiempo de ejecución = DLL multiproceso (/MD) Vinculador -> Entrada -> Dependencias Adicionales = OgreMain.lib GTGeometry.lib ### Debug ### C/C++ -> Generación de código -> Biblioteca en tiempo de ejecución = DLL de depuración multiproceso (/MDd) Vinculador -> Entrada -> Dependencias Adicionales = OgreMain_d.lib GTGeometry_d.lib Con estos pasos tendremos las pruebas funcionando siempre con directorios relativos y comunes a todos, así que no debería haber ningún problema para trabajar en grupo.