Passing directory as compiler argument not finding file
Tony
tonytdominguez at aol.com
Fri Apr 13 01:27:06 UTC 2018
On Thursday, 12 April 2018 at 07:48:28 UTC, Jamie wrote:
Really, it's more like:
>
> A/
> a.d
> module A.a;
> import std.stdio;
> import B.b;
> void main()
> {
> writeln(f(4));
> }
> B/
> b.d
> module B.b;
> size_t f(size_t input)
> {
> return input * 2;
> }
>
> And in A/ I'm compiling
> dmd -ofoutput a.d ../B/b.d
>
> and instead I was thinking I could compile with
> dmd -ofoutput a.d -I../B b.d
>
> and would get the same result. The former works, the latter
> does not. Is there something like this that I can use or do I
> have to pass all the files with the direct path to them? Thanks
I think that the typical model (at least in other languages) is
to only compile one D source file at a time. Compile the b.d file
with the -c option to create an object file. Then put the object
file in a library file (either static (easier) or dynamic). Then
you can use the -L compiler option to specify the directory of
the library and the -l compiler option to specify the library
(library name is shortened - libb.a referenced as -lb).
More information about the Digitalmars-d-learn
mailing list