【问题标题】:Problem with boost library in C++ projectC++项目中的boost库问题
【发布时间】:2010-09-06 10:44:47
【问题描述】:

我正在尝试在我的 C++ 项目 (Visual Studio 2008) 中使用 boost 库。 然而,在包括时间的提升功能:

 #include <boost/date_time/gregorian/gregorian.hpp>  

我收到以下错误(以及一些警告):

 fatal error LNK1104: cannot open file 'libboost_date_time-vc90-mt-gd-1_44.lib'

文件“libboost_date_time-vc90-mt-gd-1_44.lib”在我的机器上,我已经使用过 之前的boost库没有任何困难。

知道可能出了什么问题吗?

【问题讨论】:

  • 从错误中可以理解你使用的是visual c++,但是无论如何请把所有相关信息(操作系统、编译器等)都加上,这样才能准确回答。
  • 我正在使用 Visual Studio 2008。操作系统是 MS Vista(不幸的是)。

标签: visual-c++ boost linker


【解决方案1】:

链接器找不到库文件。这可能意味着它没有在正确的目录中搜索。在项目的属性中,您应该转到链接器部分并确保正确拼写了 boost 目录。右键点击项目,点击属性->配置属性->链接器->输入,你会发现“附加依赖项”。

在系统范围内,您可以转到工具 -> 选项 -> 项目和解决方案 -> VC++ 目录,然后在右侧的下拉菜单中选择“库文件”。

如果我没记错的话,boost pro installer 会处理这个问题。

【讨论】:

  • 我可以在 Visual Studio 2008 的链接器部分的什么位置找到目录列表?
【解决方案2】:

全局:工具 --> 选项 --> 项目和解决方案 --> VC++ 目录“库文件”(如上所述)

每个项目:项目属性 --> 链接器 --> 常规 --> 附加库目录

【讨论】:

    【解决方案3】:

    在需要 Boost 二进制库进行链接之前,您是否使用过任何库?许多 Boost 库都是仅标头的-如果您以前没有使用过那些不是的,那么这就是您现在要点击它的原因,并且解决方案与其他人发布的一样-确保它们存在于您的构建框中并设置构建环境以引用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 2023-03-23
      • 2015-07-03
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 2018-06-10
      • 2019-08-14
      相关资源
      最近更新 更多