Here an example of using gtkd without dub : ldc2 -I/usr/local/include/d/gtkd-3 -L-lgtkd-3 -L-ldl hello.d When you run dub with parameters "--verbose" it informs you what is going on. I have not figured out how to use tkd without dub. It would be nice to know how.