我希望Xcode将我的Swift源文件编译成bitcode (IR),而不是Mach-O对象。我知道您可以使用emit-ir
标志调用快速编译器,但是将其添加到“其他swift”并不适用于我。该标志被设置为对swiftc
的初始调用,但在随后对swift
的调用中没有显示为参数。因此,我得到了Mach-O 64-bit object
文件。
对于目标-C,我可以简单地通过向emit-llvm
添加clang
标志或启用LTO来实现这一点。我该为斯威夫特做些什么?
我正在使用SWIFT2.2运行最新的Xcode (7.3)。
编辑:--我想出了一个解决办法,用一个脚本替换快速编译器,该脚本将-emit-bc
附加到参数列表并将其转发给swiftc
。但是,将其添加到Xcode中的Swift编译器标志也不起作用。
发布于 2016-06-02 04:12:29
Swift前端和Swift编译器都有一个很好的选项-help-hidden
(clang也有这个选项,顺便说一句)。
除了其他隐藏的选项,还有一个叫做-Xfrontend
。您可以使用它直接为Swift编译器(swiftc
):-Xfrontend -emit-bc
传递任何参数。
它实际上可以工作,但它会导致链接器错误,因为不再存在对象文件。
发布于 2016-05-31 16:50:38
你试过swiftc -embed-bitcode
吗?
https://stackoverflow.com/questions/37542035
复制相似问题