Problems linking C and D code

Jan Stępień name at surname.cc
Sun Oct 25 01:19:34 PDT 2009


On Sun, 25 Oct 2009 05:36:20 +0100
torhu <no at spam.invalid> wrote:
> On 24.10.2009 16:17, Jan Stępień wrote:
> > 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,
> 
> The Derelict project has D bindings for SDL, and seems to be a popular 
> choice.

Thanks for the suggestion. Using a different library does not answer my
question though. Why does the linker return 0, no error/warning
messages are displayed and still there's no executable?

> Other than that, maybe out.exe is a special file name for the linker, or 
> something.  You could try another name, just in case.

Thanks for the idea, I've tried various names for the output file.
Unfortunately it did not help.

Cheers,
-- 
Jan Stępień


More information about the Digitalmars-d-learn mailing list