最近在linux中编译一个自己写的老代码。是个C++动态库。可以编译成功,但直到运行的时候才报 boost xml_woarchive undefined symbol.
解决的方法是在编译时要加上 wserialization 库。 注意,这个库有含 w 和不含 w 两个。在我这里需要使用含 w 的。
如果使用 cmake 来build 的话,要在 findpackage for boost 的componets 列表中加上 wserializaiton, 那么 findpackage for boost 的 BOOST_LIBRARIES 中就会包含这个库。讲 BOOST_LIBRARIES 加到目标的连接选项中就可以了。