gpt4 book ai didi

swift - Swift 包中的源子目录

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:56 25 4
gpt4 key购买 nike

在库包中,我想将一些源文件从“Sources”文件夹移动到子目录,而不改变语言语义(模块名称、可见性等)。

现在我的布局如下:

LibraryProject
Sources
AnotherThing.swift
FooProtocol.swift
SomeFoo.swift
OtherFoo.swift
BarProtocol.swift
SomeBar.swift
OtherBar.swift

而且,如果我将其更改为:

LibraryProject
Sources
AnotherThing.swift
Foo
FooProtocol.swift
SomeFoo.swift
OtherFoo.swift
Bar
BarProtocol.swift
SomeBar.swift
OtherBar.swift

然后,调用 swift build 失败:

error: the package has an unsupported layout, unexpected source file(s) found: [...]

这种布局可行吗?我只发现了这个问题https://bugs.swift.org/browse/SR-66这表明它不是,但我无法在文档中找到确认(或原因)。

谢谢

最佳答案

我发现了两种适用于 Linux 上 Swift 项目的选项,要么所有 .swift 文件必须直接位于 Sources 文件夹中,要么必须有一个子文件夹Sources 以及其中任意数量的子文件夹。

Swift 从 Sources 中的顶级子文件夹构建一个模块,并将所有子文件夹包含在其中。

我认为在同一个 Sources 文件夹中不可能有两个模块,因为模块无法识别自身之外的任何代码。

因此在您的示例中,工作结构将是:

LibraryProject
Sources
YourModuleName
AnotherThing.swift
Foo
FooProtocol.swift
SomeFoo.swift
OtherFoo.swift
Bar
BarProtocol.swift
SomeBar.swift
OtherBar.swift

关于swift - Swift 包中的源子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41081999/

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