【问题标题】:cannot open file 'libboost_log-vc120-mt-1_58.lib' in VS 2013 C++ project无法在 VS 2013 C++ 项目中打开文件“libboost_log-vc120-mt-1_58.lib”
【发布时间】:2015-06-19 14:19:55
【问题描述】:

我正在尝试在 Visual Studio 2013 中编译一个使用 boost 1.58 的项目。

我收到此错误:

Error   3   error LNK1104: cannot open file 'libboost_log-vc120-mt-1_58.lib'    

这个条目在我的 VC++/General/Library 目录中 $(BOOSTDIR)\lib\x64

我的 BOOSTDIR 目录的值为 C:\Projects\boost_1_58_0

我已验证路径 C:\Projects\boost_1_58_0\lib\x64 有“libboost_log-vc120-mt-1_58.lib”文件。

我可能会错过什么?

【问题讨论】:

  • 如果您记录的内容是准确的,那么您应该不会收到此链接器错误。所以不准确。查看实际的链接命令以缩小范围,在 tlog 子目录中找到它。
  • 你知道要查看哪个文件才能看到实际的链接命令吗?
  • 有点难以错过,它的名字以“link.command”开头。
  • 尝试构建并收到上述错误后为空

标签: c++ visual-studio boost


【解决方案1】:

我通过重建 boost 然后添加新的 lib 位置解决了这个问题,如下所示:

  1. 添加 $(BOOSTDIR)\libs;$(BOOSTDIR)\stage\lib;到其他图书馆
  2. 将 $(BOOSTDIR) 添加到其他包含目录

我猜我的项目与构建的任何 boost 之间存在编译器不匹配(即使我的同事告诉我它是使用相同的编译器构建的)。或者可能是路径错误或丢失。

【讨论】:

  • 我认为您只需要将 $(BOOSTDIR)\stage\lib 包含到 Additional Libraries 字段中。 $(BOOSTDIR)\libs 似乎不包含任何库文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-04
  • 2017-10-16
  • 2015-09-17
  • 2015-02-05
  • 2014-11-01
  • 2014-06-21
相关资源
最近更新 更多