Can't link libs?

FreeSlave via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 8 03:10:45 PDT 2014


On Friday, 6 June 2014 at 16:33:27 UTC, Adam D. Ruppe wrote:
> When you compile the final program, the library .d file needs 
> to be available too, either in the folder based on its name or 
> passed straight to dmd explicitly.
>
> Despite the presence of the .lib file, the .d file is still 
> needed so it can get code prototypes and type names, etc., out 
> of it.
>
> (If you have the .d though, the lib is rarely needed. Indeed, 
> the way I do most D libraries is to just pass all the .d files 
> to the compiler at once and forget about lib files.)

You are not ought to have .d files to link with library, because 
to link you need only interfaces, not implementation (except for 
templates, since they are not included in object files), 
otherwise there would be impossible to create closed-source 
developer libraries. You can generate .di files with dmd -c -o- 
-H option and use them.


More information about the Digitalmars-d-learn mailing list