On Sunday, 21 February 2016 at 21:51:27 UTC, kraxli wrote:
a) doesn't work, I need to search for more information on linking as I would like to understand these kind of basics in D :-). The books I consulted so far (Learn D and D cookbook) did not help me to understand the linking so far ...

I didn't go much into it in D Cookbook since I don't use libraries like this...

the easiest way IMO is to forget the -I switch exists, don't use it, and don't mess with .lib/.a files at all either. Just pass all the source files to the compiler together so like:

dmd yourprogram.d /path/to/consoled/consoled.d

and it will all just work because then the compiler knows where the module is (thus obviating -I) and can compile the source on-demand (thus skipping the library linking).


But if you don't do it this way, linking is just getting all the *compiled* code together, whereas the -I think is just about getting all the *imported source* together.

When you import something, the compiler reads the declarations for a module, but does not necessarily generate code for it. Linking links the generated code for the different modules together.

Reply via email to