我的SDK使用libssl.a库,但是当我将它提供给客户使用我的SDK时,他们也使用了libssl.a版本并导致重复的符号。反正是否允许两者共存?
由于
答案 0 :(得分:0)
一种选择是在每个符号上使用自定义前缀重建libssl。我为此编写了一个脚本,您可以找到here。
更简单的选项可能是不链接到libssl.a并要求客户链接到它。要做到这一点,像往常一样简单地#import
libssl的标题,但是将libssl.a从带链接的二进制文件中分离出来。除非目标是可执行文件,否则链接器不会尝试解析符号,因此您可以通过这种方式编译静态库而不会出现问题。