【问题标题】:Linker error when using boost threads使用 boost 线程时出现链接器错误
【发布时间】:2011-03-21 20:33:36
【问题描述】:

我正在尝试使用 boost 线程,但是在运行程序时我得到了这个:

LINK : fatal error LNK1104: cannot open file 'libboost_date_time-vc100-mt-gd-1_46.lib'

我在链接器中包含的目录是:c:\boost_1_46_0\libs\ 和 c:\boost_1_46_0\boost。
我正在使用 Visual Studio Express 2010。

谢谢。

【问题讨论】:

  • 我希望在您编译(然后链接)程序时看到该错误?你检查过 lib 文件的目录吗?
  • 我看到的只有 libs 目录(没有 lib)
  • @Jimmy 好点!问题一定是错误的,这是来自链接器的错误消息,而不是来自运行程序
  • 是的,看起来是这样,但是在编译时我得到了这个:========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped == ======== 只有当我运行程序时它才会给我错误
  • 是否有一个与指定文件具有相同根目录的“.libs”文件?出于兴趣,您是否为您的平台构建了 boost 库?

标签: c++ visual-studio boost


【解决方案1】:

将 $(BOOSTROOT)/lib 指定为链接器的“附加库目录”。 (注意:它不是带有 s 的库)

这假设您已经使用 Visual Studio 编译器构建了 boost 库。从 cmets 中的讨论来看,您似乎没有这样做。

我建议您不要尝试自己构建库,而是使用安装程序来获取预构建的二进制文件。这是安装程序:http://www.boostpro.com/download/

【讨论】:

  • @vBx 那么你一定有一个很奇怪的 boost 安装。我建议删除您的 boost 安装并重新开始。
  • 也许你指的是这个:c:\boost_1_46_0\stage\lib\?它包含许多 .a 和 .dll 文件。我也包括了这个,但仍然得到同样的错误。
  • 是的,我没有使用 visul studio 构建,好的,我将使用您提供的链接安装,非常感谢
猜你喜欢
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 2018-03-05
  • 2012-09-27
  • 1970-01-01
相关资源
最近更新 更多