1

我正在使用 Swift3 和 Swift 包管理器构建一个简单的网络服务器。在您的项目文件夹中运行swift build将构建在Sources目录中找到的所有源并输出一个可执行文件。但是,我发现如果我在 Sources 目录中创建文件夹来组织我的代码,我的构建就会失败。在我看来,文件夹的存在会导致 swift 将源视为不同的模块。这是原因吗?如果是,我该如何解决?

4

1 回答 1

1

是的。将目录直接放在下面Sources会导致 SwiftPM 将它们解释为模块。这在包管理器参考中有所描述。

要解决此问题,请使用另一种间接方式:将模块的Sources目录放入其中,并将其他目录放入该目录中:

Sources/YourApp/Stuff/Source1.swift
Sources/YourApp/Stuff/Source2.swift
Sources/YourApp/MoreStuff/Source3.swift
Sources/YourApp/MoreStuff/Source4.swift
于 2017-03-15T20:40:46.417 回答