在MacOS上集成IPP库的“紧凑展开”问题

时间:2019-01-25 13:01:13

标签: c++ macos libc++ intel-ipp

在升级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
  • 禁止或忽略警告
  • 也许该依赖项与10.9部署目标根本不兼容,我应该推迟升级直到更新(例如,使用不同版本的IPP)?
  • 其他选项?

0 个答案:

没有答案