今天工作的时候,将一个很简单的iOS项目的Build Configuration从Debug改为Release就遇到了很诡异的链接错误,大概是这样的:
LLVM ERROR: Broken funciton found, compilation aborted!
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我仔细思考了一下,然后尝试着关闭了Link-Time Optimization(也就是调用clang/LLVM时的-flto开关),于是就解决了。深切怀疑这是LLVM链接时优化的bug。