So che ci sono DSSS
, BUD
/build, Orbit
di Jacob Carlborg e ufficiale rdmd
. E solo l'Orbita sembra essere attiva. Quindi, quale di questi è più utilizzabile per creare programmi D complessi e complessi con molte dipendenze? Non è necessaria alcuna confezione, solo un helper del processo di compilazione bello e chiaro.Il sistema edificio attuale per D
risposta
Sono troppo, un modello per l'uso makefile qui: MakefileForD
Perché utilizzarlo:
- facile da usare
- sostegno tutti compilatore
- in grado di costruire sia lib condivisa e statica o eseguibile
- // build
Non è un prodotto finito, ma ....
DMD ha già un -deps flag che dovrebbe rendere l'auto-generare make
file ragionevolmente semplice.
Sicuramente sosterrò per rdmd
- è un grande aiuto per avvolgere il tuo compilatore preferito. Utilizzo base dalla documentazione sono:
rdmd [rdmd args] [compiler args] <source file>[.d] [executable args]
In tutti i miei progetti D, ho semplicemente usato script Bash (con Cygwin se su Windows), e ha funzionato meravigliosamente. Ecco alcuni dei miei frammenti preferiti:
Run
Tutta la ragion d'essere di rdmd
è quello di semplificare il ciclo-edit-run compilazione di modificare-run, e fa che piuttosto semplice:
rdmd helloworld.d [args]
rdmd
non eseguirà alcun file con un timestamp meno recente dell'ultima compilazione, quindi la prossima volta che eseguirai lo stesso file sorgente senza modificarlo passerà semplicemente all'eseguibile precedentemente compilato.
Selezionare Compiler
Nonostante il nome, è possibile utilizzare la maggior parte dei compilatori con rdmd
come GDC, LDC, e DMD in questo modo:
rdmd --compiler=dmd ...
Corporatura:
Normalmente rdmd
memorizza l'eseguibile e *.obj
file dalla tua origine in una directory temporanea utilizzando tmpDir()
nella sorgente rdmd
- questo è fondamentalmente un po 'di magia per dare rdmd
la sensazione di eseguire i file *.d
come script. È possibile, tuttavia, specificare il file di output con il flag -of
:
rdmd -of"helloworld.exe" helloworld.d
I file batch appena creato prima corsa con la bandiera '' -c' e -obbin/'e quindi eseguire il linker sulla cartella bin –
* .bat/*. sh file - sì, funziona, ma qualcosa di simile alla buona grafica di Visual Studio sarebbe meglio. Il semplice plugin per esso esiste già e lo sto usando.Sogni d'oro :) – Raxillan
Sono abbastanza sicuro di poter creare qualcosa da solo che gestisca automaticamente tutte le dipendenze, consenta l'esecuzione di più metodi principali compilati nella cartella bin ed esegua apporti specifici su richiesta. ma non ho davvero il tempo per questo ora –