Problems linking C and D code

Jan Stępień name at surname.cc
Sat Oct 24 07:17:59 PDT 2009


On Sat, 24 Oct 2009 15:56:05 +0200
torhu <no at spam.invalid> wrote:
> On 24.10.2009 15:02, Jan Stępień wrote:
> > Hi all,
> >
> > I've got a problem with linking two object files on Windows with an
> > external *.lib file. First one is compiled C code, second one is in D.
> > I'm using D2.
> >
> >    $ dmc -c first.c -I path/to/SDL/include
> >    $ dmd -c second.d
> >
> > First two commands create two *.obj file. After running
> >
> >    $ dmd first.obj second.obj path/to/SDL.lib -ofout.exe
> >
> > no "out.exe" file is created but the command returns 0. An "out.map"
> > file is created, though. Where am I doing something wrong?
> >
> > Cheers,
> 
> Make sure there's a D main function define somewhere.  With SDL you're 
> probably supposed to link with SDLmain.lib.

Thanks for the reply.

There is int main(string[] args) function in second.d. I tried linking
in both combinations, with SDLmain.lib only and with both SDL.lib and
SDLmain.lib - results are the same, unfortunately.

I also tried linking with SDL.dll instead of SDL.lib, but dmd exited
with a message "unrecognized file extension dll".

Cheers,
-- 
Jan Stępień


More information about the Digitalmars-d-learn mailing list