出于某些原因,我试图比较 Swift 和 ObjectiveC 的性能。为了方便起见,我制作了简单的命令行 Swift 项目,并在那里添加了 ObjectiveC 代码。在调试配置中构建和运行正常。但是在发布中运行配置给了我以下编译器错误:
命令/应用程序/Xcode-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1
当然,我可以通过在构建设置的优化级别中设置 -Onone 来修复此错误。
但正如我上面所说,我需要在最大性能模式下比较代码。
这就是为什么-Onone不是一种选择。你可以在这里看看项目。
有谁知道如何摆脱这个错误?
提前谢谢你!
问题是在扩展方法中定义的class Array2D
levenshteinDistanceFromStringSwift
.我不知道这是否是一个错误,但是如果你
- 将类移动到全局级别,或
- 将
class Array2D
更改为struct Array2D
然后,您的项目也会在发布模式下编译和运行。