【发布时间】:2018-08-12 02:26:34
【问题描述】:
我需要使用 Boost 来序列化一个 std::vector,但是当我添加该行时
#include <boost/serialization/vector.hpp>
对于我的项目,我收到 LNK1104 错误:无法打开文件“libboost_serialization-vc141-mt-gd-x64-1_66.lib”。但是,我已经添加了
#include <boost/serialization/array.hpp>
没有出现任何错误。由于这两个文件位于同一个文件夹中,我认为问题可能不是我忽略了一个需要告诉 Visual Studio 在哪里查找文件的地方。我已经尝试在编译之前重新启动计算机并关闭 Visual Studio 中的所有代码窗口,所以我很确定我不可能在没有意识到的情况下打开文件。还能是什么?
【问题讨论】:
-
Boost 序列化不是一个只有头文件的库。您需要构建 Boost 并与相关库链接,请参阅:boost.org/doc/libs/1_66_0/more/getting_started/…
-
链接器错误不是由缺少标头引起的。错误消息很清楚,您需要缺少的库文件,您需要按照 boost 站点上的说明构建它。
-
@RichardCritten 就是这样。这是我第一次使用外部库,我没有立即得到错误的事实一定是侥幸。
标签: c++ visual-studio boost linker-errors