Thread overview | ||||||
---|---|---|---|---|---|---|
|
December 28, 2016 Working with Modules | ||||
---|---|---|---|---|
| ||||
I am just starting up with dmd and code::blocks. Generally I have as my project structure something like this (sorry if your forum doesn't format this nicely, use the '-'es for directory nesting): ProjectA -SubProject1 -SubProject2 ProjectB -SubProject1 -SubProjectB HopefullySomeDProject -main.d Libraries -C --CLibrary1 -CPP --CPPLibrary1 -CSharp --CSharpLibrary1 -D --HopefullySomeDLibrary ---test.d Workspaces -csharp.sln -mydproject.workspace But it seems the D module system isn't playing nice with this setup. I keep getting this error: ||=== Build: Debug in tester (compiler: Digital Mars D Compiler) ===| tester.d|4|Error: module test is in file 'test.d' which cannot be read| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| Unfortunately, neither code::blocks nor D's resources are really giving me any insight how I can make such a file structure work for me. Does D prefer more of a hierarchical structure where all libraries have to be in subdirectories? If so, how do people usually disembody the libraries from the actual projects? |
December 28, 2016 Re: Working with Modules | ||||
---|---|---|---|---|
| ||||
Posted in reply to Guy Asking a Question | The code... tester.d module main; import std.stdio; import test; <---dmd choking here. int main(string[] args) { writefln("Hello World\n"); writefln(add(a, b)); return 0; } test.d module test; int add(int a, int b) { return a + b; } |
December 28, 2016 Re: Working with Modules | ||||
---|---|---|---|---|
| ||||
Posted in reply to Guy Asking a Question | On Wednesday, 28 December 2016 at 02:08:44 UTC, Guy Asking a Question wrote:
> import test; <---dmd choking here.
You will need to use the -I option of dmd/rdmd to inform the compiler of where your `HopefullySomeDLibrary` directory is located, as well as any other places you will want to import modules from.
If you're using another compiler, it should have a similar option. (Though I can't speak from experience.)
|
December 28, 2016 Re: Working with Modules | ||||
---|---|---|---|---|
| ||||
Posted in reply to pineapple | On Wednesday, 28 December 2016 at 02:12:32 UTC, pineapple wrote:
> On Wednesday, 28 December 2016 at 02:08:44 UTC, Guy Asking a Question wrote:
>> import test; <---dmd choking here.
>
> You will need to use the -I option of dmd/rdmd to inform the compiler of where your `HopefullySomeDLibrary` directory is located, as well as any other places you will want to import modules from.
>
> If you're using another compiler, it should have a similar option. (Though I can't speak from experience.)
Thanks. That did the trick.
|
Copyright © 1999-2021 by the D Language Foundation