Serializable Boost库头和仅头文件库

时间:2011-11-22 09:56:19

标签: c++ visual-studio-2010 serialization boost

我正在构建一个使用以下Boost标头的程序(我使用的是Microsoft Visual C ++ 10),

#include <boost/filesystem.hpp>
#include <boost/date_time.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/info_parser.hpp>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#include <boost/thread.hpp>

现在显然该程序只需要date_timefilesystemregexsystemthread的库二进制文件。

但是,我在查找序列化库时遇到链接错误。

  

LINK:致命错误LNK1104:无法打开文件'libboost_serialization-vc100-mt-gd-1_44.lib'

我有两个问题:

  1. 上面的头文件需要序列化库吗?
  2. 我在哪里可以找到需要二进制库的标题列表(以及它们与哪个库关联)以及哪些标题只是标题?我已经找了很长一段时间,似乎无法找到它。

1 个答案:

答案 0 :(得分:2)

  1. Boost.PropertyTreeBoost.DateTime可能要求libboost_serializationBoost.PropertyTreeBoost.DateTime库都支持与Boost.Serialization集成,因此其中一个库可能要求链接序列化库。我的钱在Boost.PropertyTree上,因为日期/时间的上述链接指定您必须明确包含序列化标头以获得对它的支持,因此Boost.DateTime不太可能需要序列化库,除非您包含这些文件。

  2. 以下是support automatic linking的Boost库列表,因此它们需要链接到库文件。以下是header-only libraries的列表。我不确定两个集合的组合是否构成了整个boost库,但它看起来非常完整。