vtable大小不匹配链接提升

时间:2018-04-13 23:17:10

标签: c++11 boost abi

在Solaris中链接某些内容时,同事遇到链接器警告:

ld: warning: symbol 'vtable for boost::system::error_category::std_category' has differing sizes:
        (file blah.o value=0x24; file (...)/libboost_system.a(error_code.o) value=0x14
        blah.o definition taken

...在boost / system / error_code.hpp中存在[显然]有问题的代码。使用-std=c++11进行编译时会发生这种情况,但不会使用-std=c++98进行编译。

1 个答案:

答案 0 :(得分:1)

从一开始就应该很明显,但我很紧张。我们最近从C ++ 98切换到C ++ 14,但是boost库是使用编译器的默认值 - C ++ 98构建的。