Strange behaviour of rdmd vs. dmd concerning main function

berni via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Feb 10 00:18:45 PST 2017


>>>$> dmd Special/special.d Common/common.o Special/special.d(4): 
>>>Error: module common is in file 'common.d' which cannot be read
>>>import path[0] = /usr/include/dmd/phobos
>>>import path[1] = /usr/include/dmd/druntime/import
>
> This is not a linker error. It's a compiler error. You need 
> common.d for the import, so the compiler can know which symbols 
> are available. For any modules you import, you need either the 
> original source file (.d) or a D interface (header) file (.di) 
> which contains the type & function declarations and any 
> template implementations you need.

That worked. With "dmd -c -Hd=Common Common/common.d" I created a 
common.di file then I removed the common.d and could compile with 
"dmd -ICommon Special/special.d Common/common.o". With this, 
common.d does not need to be recompiled a lot of times if there 
are several special.d-files. Thank you!




More information about the Digitalmars-d-learn mailing list