1

我为我的 ios 应用程序使用 c++ 库项目(使用 boost 1.57 库),当我构建我的应用程序时,我收到数百个链接器警告。该应用程序运行良好。

突出的警告是

ld: warning: direct access in boost::exception_ptr boost::exception_detail::get_static_exception_object<boost::exception_detail::bad_exception_>() to global weak symbol boost::exception_ptr boost::exception_detail::get_static_exception_object<boost::exception_detail::bad_exception_>()::ep means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

我如何摆脱这些链接器警告?除了压制还有什么办法?

谢谢

4

1 回答 1

2

我通过在 xcode 构建设置中将“默认隐藏的符号”更改为“YES”和“隐藏的内联方法”更改为“YES”来消除这些链接器警告。

iOS 的 boost 库是使用 -fvisibility=hidden -fvisibility-inlines-hidden 标志构建的,xcode 构建设置将符号可见性设置为 YES。因此出现了不匹配和链接器警告。

于 2015-07-30T20:24:31.660 回答