【发布时间】:2014-11-27 00:00:33
【问题描述】:
帮朋友问这个。
假设在我的 iOS 项目中,我获得了一个第三方静态库 (.a),我无法访问该库的源代码,并且它与一个开源项目静态链接。我也在使用这个开源项目静态库,但版本较新。因为它是 iOS,所以它们都需要静态链接。为了避免重复的符号,在编译过程中,我可以给 Clang 编译器(或者我个人也对 GCC 感兴趣)提供一个选项来全局修改这个较新版本的开源库(也许假设我将它编译为静态库首先)我要链接到?
换句话说,要链接到“.a”,有没有办法在编译时命名修饰符号,例如在它前面加上前缀,这样就不会发生符号冲突?如果编译器无法完成,是否有一个工具可以在全球范围内对其进行命名?
或者,感谢任何其他避免重复符号的解决方案。
【问题讨论】:
标签: ios objective-c c clang