Under the heading 'Extern Global C Variables', it's explained that you need to create an extra module that is not linked with, in order to avoid a multiple definition error.
But given a C header file:
struct Foo { };
struct Foo bar;
It's enought just to have a single module, like this:
struct Foo { }
extern extern (C) Foo bar;
The first 'extern' makes bar a pure declaration, and the definition in the C library will be used. Tested with dmd 1.0 and 1.004.