在升级MacOS库的过程中,我已将OS X部署目标版本从10.8更改为10.9。但是,其中一个库依赖项使用了Intel的IPP(英特尔性能基元),它产生了一堆“无法创建紧凑的展开”警告,例如:
ld: warning: could not create compact unwind for _ippStaticInitCpu: register saved more than once (might be shrink wrap)
ld: warning: could not create compact unwind for _ippStaticInit: register 13 saved somewhere other than in frame
等数百条这样的消息。
要摆脱这些缺陷,将-no_compact_unwind
标志传递给链接器,该链接器对于部署目标10.8很好用,但是对于10.9,它会导致libc ++ abi出现问题,该问题永远不会被捕获。
我发现可以通过传递-keep-dwarf-unwind
和-no-compact-unwind
来构建该库并使其正常工作,但是我有点担心我不明白会发生什么上。在这里最好采取哪种行动方案,什么是收益/缺点/风险?
-keep-dwarf-unwind