Ver Mensaje Individual
  #7  
Antiguo 05-02-2020
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
tl;nr: Esto es más complicado de lo que parece.

Para empezar no hay archivo ".dpr" porque el ejemplo debe funcionar tanto en Delphi como con Free Pascal (la gracia de la biblioteca es que funcione en ambos sin hacer nada especial) así que todos los programas tienen extensión ".pas". Además las fuentes de los ejemplos están en un directorio separado de las unidades de la biblioteca para que se puedan instalar fácilmente estas últimas, y los ejecutables se guardan en otro directorio para no mezclar. Imaginad, si no, fuentes, bibliotecas, ejecutables y datos todos mezclados en el mismo directorio. Yo no tengo que hacerlo porque lo he visto, incluso en proyectos supuestamente profesionales, y ya os digo que no es nada cómodo.

O sea, el árbol de directorios (resumido, aquí el completo) es el siguiente:
Código:
allegro.pas
 +-bin
 |   +-demo
 |   \-examples
 \-src
    +-demo
    +-examples
    \-lib
Si a esto unimos que quiero que la primera vez que se compile lo haga optimizado para combatir el sanbenito de que Pascal genera ejecutables grandes y lentos, el archivo ".dproj" es indispensable. Si no incluyo los proyectos, cargará el archivo ".pas" en Delphi, compilará, le dará error porque no encuentra la unidad talycual y ¡vaya m¡€#@ de proyecto que no compila ni los ejemplos!

Con Lazarus hay poco problema porque, al ser libre y gratuito, si no carga pues te actualizas y a correr; incluso puedes tener varias versiones instaladas a la vez sin pegarse. Pero con Delphi, ¡ay, amigo!, actualizar no es tan fácil ni barato, y si te bajas una versión de prueba teniendo otra ya instalada preguntad al compañero Dec lo que puede pasar...

Se me ocurre como solución no incluir los archivos de proyecto y añadir Delphi como compilador de make (mi viejo Delphi 6 lo incluye, no he comprobado si las versiones más modernas también), aunque sé de buena tinta que los delphineros no estáis muy acostumbrados y la consola de comandos os da un poco de urticaria (que lo entiendo, oye). Quizá si explico en la documentación paso a paso cómo crear el proyecto no espante a mucha gente.

Ya véis mi problema. A ver cómo lo puedo solucionar.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita