2012-03-12 29 views
7

Sé que hay DSSS, BUD/build, Orbit por Jacob Carlborg y rdmd oficial. Y solo Orbit parece estar activo. Entonces, ¿cuál de estos es más útil para construir programas D enormes y complejos con muchas dependencias? No se necesita ningún paquete, solo un ayudante agradable y claro para el proceso de compilación.El sistema de construcción real para D

+1

I archivos por lotes acaba de crear primero ejecutan con indicador '' -c' y -obbin/'y luego corren el enlazador en la carpeta bin –

+0

* .bat/*. sh files - sí, está funcionando, pero algo así como una buena GUI de Visual Studio sería mejor. El simple complemento ya existe, y lo estoy usando.Dreams-dreams :) – Raxillan

+0

Estoy bastante seguro de que puedo crear algo para manejar automáticamente todas las dependencias, permitiría tener varios métodos principales compilados en la carpeta bin y ejecutar pruebas de unidad específicas a pedido. pero realmente no tengo tiempo para eso ahora –

Respuesta

4

Son también, una plantilla para su uso makefile aquí: MakefileForD

Por qué usarlo:

  • fácil de usar
  • el apoyo de todo el compilador
  • capaz de construir tanto librería compartida y estático o ejecutable
  • // compilación
4
No

un producto terminado, pero ....

DMD ya tiene un -deps flag que debe hacer auto-generar archivos make razonablemente simple.

1

Definitivamente defiendo rdmd - es una gran ayuda para envolver su compilador favorito. El uso básico de los documentos son:

rdmd [rdmd args] [compiler args] <source file>[.d] [executable args] 

En todos mis proyectos D, he utilizado simplemente los scripts Bash (con Cygwin si en Windows), y ha funcionado maravillosamente. He aquí algunos de mis fragmentos favoritos:

Run

Toda la razón de ser de rdmd es simplificar el ciclo de compilación de edición y gestión de editar plazo, y hace que bastante simple:

rdmd helloworld.d [args] 

rdmd no ejecutará ningún archivo con una marca de tiempo más reciente que la última compilación, por lo que la próxima vez que ejecute el mismo archivo fuente sin editarlo simplemente pasará al ejecutable compilado previamente.

Seleccionar Compilador

A pesar del nombre, puede utilizar la mayoría de los compiladores con rdmd como GDC, LDC, y DMD así:

rdmd --compiler=dmd ... 

Físico:

Normalmente rdmd almacena el ejecutable y *.obj archivos de su fuente en un directorio temporal usando tmpDir() en rdmd fuente - esto es básicamente algo de magia para dar rdmd la sensación de ejecutar archivos *.d como scripts. Puede, sin embargo, especificar el archivo de salida con la bandera -of:

rdmd -of"helloworld.exe" helloworld.d 
Cuestiones relacionadas