Q:

Using DMD in two separate steps: Linking 64-bit (Linux)

I'm running on 64-bit Ubuntu, and trying to get DMD v2.052 to work with Code::Blocks.  The problem is, Code::Blocks does compiling and linking in two separate steps, and I can't seem to get around that.  My compiler flags (for this project) are -m64, and my linker flags are all the ones supplied in dmd.conf.  However, I get errors when I try to do this, like

Linking console executable: bin/Debug/Gossamer
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-system.a when searching for -ldsfml-system
/usr/bin/ld: cannot find -ldsfml-system
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-graphics.a when searching for -ldsfml-graphics
/usr/bin/ld: cannot find -ldsfml-graphics
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-audio.a when searching for -ldsfml-audio
/usr/bin/ld: cannot find -ldsfml-audio
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-window.a when searching for -ldsfml-window
/usr/bin/ld: cannot find -ldsfml-window
collect2: ld returned 1 exit status

I compiled the DSFML libs myself, using dmd -m64 -lib [library source code files], and there it wasn't in two steps, so I know they're fine.  It seems ld doesn't like them, for some reason.  Can somebody help? 

A:

Try doing the compile from the command line using just DMD.  If that works I think there is a flag that will cause DMD to print the command line for the link command.  From that you should be able to tell what you need Code::Blocks to do differently.