当构建一个要在支持位码的应用中使用的库时,fat二进制文件中的每个arch都需要使用-fembed-bitcode
构建,还是只需要其中一个?
其中之一是因为位代码是架构独立的,只会被复制?
所有这些都是因为预处理器命令可能会根据体系结构(例如NSInteger宽度)更改代码?
排除x86切片,否则会发生duplicate symbol _llvm.cmdline
?-rdar://21884601
当构建一个要在支持位码的应用中使用的库时,fat二进制文件中的每个arch都需要使用-fembed-bitcode
构建,还是只需要其中一个?
其中之一是因为位代码是架构独立的,只会被复制?
所有这些都是因为预处理器命令可能会根据体系结构(例如NSInteger宽度)更改代码?
排除x86切片,否则会发生duplicate symbol _llvm.cmdline
?-rdar://21884601
1条答案
按热度按时间vc9ivgsu1#
Bitcode只是LLVM IR的另一种形式,它依赖于体系结构。
这意味着胖二进制文件中的每个切片都应该包含自己的位代码部分。
**更新:**我写了一篇关于Bitcode的博客,你可能会发现一些有用的细节:Bitcode Demystified