首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带boost的xcode :链接器(Id)警告可见性设置

带boost的xcode :链接器(Id)警告可见性设置
EN

Stack Overflow用户
提问于 2011-12-30 23:33:03
回答 6查看 17.1K关注 0票数 35

我一直在为我的iPhone Xcode项目使用下面链接中的boost框架:https://goodliffe.blogspot.com/2010/09/building-boost-framework-for-ios-iphone.html

它工作正常,但我总是收到数百个Apple Mach-O链接器(Id)警告,如:

__ZN5boost15program_options6detail7cmdline24handle_additional_parserERSt6vectorISsSaISsEE中的

直接访问全局弱符号__ZTVN5boost17bad_function_callE意味着弱符号在运行时不能被覆盖。这可能是由于使用不同的可见性设置编译不同的翻译单位造成的。

如何消除代码中的警告?

编辑:通过设置默认的符号隐藏= YES,我成功地消除了大多数警告,但是还有3条是不会消失的,有人能告诉我为什么吗?

再次编辑:重建后,剩下的3条警告也消失了!所以我的解决方案奏效了!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-30 23:40:14

Doe刚刚想出了如何消除数百个这样的警告:为整个目标或项目设置默认的符号隐藏的 build设置为YES

票数 26
EN

Stack Overflow用户

发布于 2012-08-09 08:21:57

如果boost包含在多个项目中,则每个项目必须具有相同的

代码语言:javascript
复制
 Symbols Hidden by Default
 Inline Methods Hidden
票数 39
EN

Stack Overflow用户

发布于 2015-01-05 15:28:16

链接器抱怨您的项目和Boost之间存在不同的可见性设置。

您还可以通过使用相同的兼容性设置重新编译Boost来解决此问题。

只需加上

代码语言:javascript
复制
cxxflags=-fvisibility=hidden

代码语言:javascript
复制
cxxflags=-fvisibility-inlines-hidden

bjam命令行。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8685045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档