使用gcc编译boost 1.53库,隐藏符号可见性

时间:2013-02-25 02:52:53

标签: c++ gcc boost ld

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

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”直接传递给编译器,但这不起作用(出于某种原因)。

提前致谢

0 个答案:

没有答案