gpt4 book ai didi

d - 如何编译D中不同文件夹中的多个文件?

转载 作者:行者123 更新时间:2023-12-02 21:41:47 25 4
gpt4 key购买 nike

project
---|source
------ |controllers
-------|models
-------|lib
----------|field.d
-------|app.d

我运行 dub 但收到此错误:

Error: module field from file ... conflicts with another module field from file source/lib/field.d

field.d 看起来像这样:

   module field;

class Field(T){

this(T def_val,bool required,string help_text);

bool validate();
private bool _validate();
}

最佳答案

始终将模块语句放在要导入的任何文件中,并一致地使用包名称以避免冲突。

因此,不要简单地将其称为module field;,而是将其称为module myapplication.field;,甚至module myapplication.lib.field; code>,当然,使用的时候也要用同样的全名导入。

我不确定 dub 是否会像那样工作(我个人不使用它),但是该语言允许您为模块指定任何名称,即使它与文件名不匹配,这有助于像这样的情况,避免名称冲突。

一般来说,如果您给它们全部完整、唯一的名称,则一次编译它们:dmd app.d lib/field.d [以及您的项目拥有的任何其他文件],就会正常工作。

关于d - 如何编译D中不同文件夹中的多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com