我希望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
复制相似问题