我是否必须在包的 requires 部分指定间接依赖项?

Do I have to specify the indirect dependencies in the requires section of a package?

假设我有这些项目:

其中每个部分的正确 requires 部分是什么?

Package2 显然依赖于 Package1。

Package3 同时依赖于 Package1 和 Package2?或者如果我知道 Package2 将依赖于 Package1 就可以只指定 Package2 吗?

Package4呢,除了Package2还要指定Package1吗?

进入包裹 requires 部分的规则是什么?

PS:假设我希望能够使用静态链接和动态链接。

顺便说一句:我通过 Dependencies 尝试了 运行 bpls,但是 Delphi 在幕后生成的实际导入和导出不在 1:1 关系中无论如何都满足要求。

所需包所需的任何包都被视为间接需要,不需要在要求部分中引用。

鉴于您上面的示例,每个包的要求至少应包含

Package1: 
Package2: Package1
Package3: Package2 (makes Package1 indirectly required)
Package4: Package2 (makes Package1 indirectly required)

当然,每个包都应该列出所有必需的标准(RTL、VCL、...)包。上述规则也适用于那些。 F.i。要求 vcl 隐式要求 rtl。