【问题标题】:linker error from boost/serialization/vector #include来自 boost/serialization/vector #include 的链接器错误
【发布时间】: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


【解决方案1】:

缺少标题不是问题。你会有一个 Cannot include boost/serialization/vector.hpp

您需要将包含 libboost_serialization-vc141-mt-gd-x64-1_66.lib 的目录添加到您项目的 Library Directory 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多