D - 主模块在文件 "main.d" 中,使用 DUB 编译时无法读取
D - module main is in file "main.d" which cannot be read when compiling using DUB
我关注dub.json:
{
"name": "foo",
"targetType": "executable",
"sourceFiles": ["main.d"],
"mainSourceFile": "main.d",
"importPaths": ["src"],
"sourcePaths": ["src"],
}
我的 main.d
(带有基本 hello-world-like 程序)在 src
文件夹中。如果我 运行 dub build
我得到问题标题中提到的错误。如果我将 main.d
从 src
移动到 dub.json
所在的同一目录,错误就会消失。我非常想将源代码保留在 src
中,但无法编译。我该如何解决?
我知道有两个问题:first, second,但是他们两个的情况都不一样。在第一个中,找不到的模块是一个依赖项,这里不是这种情况。在第二种情况下,编译是手动执行的,而不是通过 DUB(我尝试将 -Isrc
传递给编译器作为建议的问题的答案,但它没有帮助)。
我在 Arch Linux(64 位)和 LDC v1.2.0 上使用 DUB v1.3.0(但如果我使用 DMD v2.074.0 也会发生同样的情况)
如果你只使用:
似乎可以工作
{
"name": "foo",
"targetType": "executable",
"sourcePaths": ["src"]
}
我关注dub.json:
{
"name": "foo",
"targetType": "executable",
"sourceFiles": ["main.d"],
"mainSourceFile": "main.d",
"importPaths": ["src"],
"sourcePaths": ["src"],
}
我的 main.d
(带有基本 hello-world-like 程序)在 src
文件夹中。如果我 运行 dub build
我得到问题标题中提到的错误。如果我将 main.d
从 src
移动到 dub.json
所在的同一目录,错误就会消失。我非常想将源代码保留在 src
中,但无法编译。我该如何解决?
我知道有两个问题:first, second,但是他们两个的情况都不一样。在第一个中,找不到的模块是一个依赖项,这里不是这种情况。在第二种情况下,编译是手动执行的,而不是通过 DUB(我尝试将 -Isrc
传递给编译器作为建议的问题的答案,但它没有帮助)。
我在 Arch Linux(64 位)和 LDC v1.2.0 上使用 DUB v1.3.0(但如果我使用 DMD v2.074.0 也会发生同样的情况)
如果你只使用:
似乎可以工作{
"name": "foo",
"targetType": "executable",
"sourcePaths": ["src"]
}