digitalmars.D.learn - Modules/packages and cryptic errors
- al <al la.com> Oct 31 2009
- Frank Benoit <keinfarbton googlemail.com> Oct 31 2009
- al <al la.com> Oct 31 2009
- Frank Benoit <keinfarbton googlemail.com> Oct 31 2009
I have main.d with: import foo.bar and when I run: dmd foo/*.d main.d I get: module bar is in multiple defined This is pretty strange. The only way I can silence this error is to add "module dirname.filename" to *every* file. Surely there must be less annoying method?
Oct 31 2009
al schrieb:module bar is in multiple defined
This often indicates a modules file name and the identifier in the "module" statement are unequal (case sensitivity)
Oct 31 2009
Frank Benoit Wrote:al schrieb:module bar is in multiple defined
This often indicates a modules file name and the identifier in the "module" statement are unequal (case sensitivity)
I have all files and imports lowercase. I have class names following filenames capitalized, but that shouldn't matter, should it? When I run: dmd foo/bar.d is that assuming module foo.bar or bar? If that's the latter, it might explain why I'm getting an error (import finds this file under foo.bar), but how should I compile files then?
Oct 31 2009
al schrieb:Frank Benoit Wrote:al schrieb:module bar is in multiple defined
"module" statement are unequal (case sensitivity)
I have all files and imports lowercase. I have class names following filenames capitalized, but that shouldn't matter, should it? When I run: dmd foo/bar.d is that assuming module foo.bar or bar? If that's the latter, it might explain why I'm getting an error (import finds this file under foo.bar), but how should I compile files then?
if 'foo' shall be package, in bar.d there should be "module foo.bar;". If imported from somewhere else, it should be "import foo.bar;". Class/Type names should not matter.
Oct 31 2009








Frank Benoit <keinfarbton googlemail.com>