3

我的链接器出现了一些恼人的错误:

ld:警告:在 boost::detail::sp_counted_base::sp_counted_base() 中直接访问 boost::detail::sp_counted_base 的全局弱符号 vtable 意味着在运行时不能覆盖弱符号。这可能是由使用不同可见性设置编译的不同翻译单元引起的。

在根深蒂固之后,我确定这是由 -fvisibility=hidden 编译引起的,这正是我所需要的。所以我需要用隐藏符号编译boost,一切都应该很好,对吧?

我注意到,当使用 ./b2 构建 boost 时,它会在输出顶部附近列出以下内容:

执行配置检查

- gcc visibility           : yes

太好了,但是如何关闭可见性?文档似乎没有提到它。我尝试将“-fvisibility-inlines-hidden -fvisibility=hidden”直接传递给编译器,但这不起作用(出于某种原因)。

提前致谢

4

0 回答 0