我使用c ++库项目(使用boost 1.57库)为我的ios应用程序,当我构建我的应用程序时,我收到数百个链接器警告。该应用程序运行完全正常。
突出的警告是
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.
如何摆脱这些链接器警告?抑制之外的任何可能的方式?
由于
答案 0 :(得分:2)
我通过更改&#34;默认隐藏的符号&#34;删除了这些链接器警告。到&#34;是&#34;和&#34;隐藏的内联方法&#34;到&#34;是&#34;在xcode构建设置中。
iOS的boost库是使用-fvisibility = hidden -fvisibility-inlines-hidden标志构建的,而xcode构建设置的符号可见性设置为YES。因此存在不匹配和链接器警告。