On 29.06.2010 02:51, Simen kjaeraas wrote:
////////////////////
module a;
extern void foo( );
void bar( ) {
foo( );
}
////////////////////
module b;
import std.stdio;
void foo( ) {
writeln( "Hi!" );
}
////////////////////
The above does not work (Error 42: Symbol Undefined _D1a3fooFZv). Adding
extern to foo in module b changes nothing. extern( C ) works, but seems
like a hack. Better ideas?
Using extern (C) is the only way I've seen this done. I don't know of
any way to make the symbols match up otherwise. There's probably some
hack that works, but is uglier than the more straightforward solutions.
You could always create a b.di file, if that doesn't defeat the purpose.