升级从1.42升级到1.61

时间:2018-06-12 11:54:24

标签: c++ boost visual-studio-2015 compiler-errors linker

我们在项目中使用了boost 1.42,因为公司政策,我们必须迁移到使用boost 1.61。我将boost 1.42中的引用替换为make文件中的1.61,并进行了编译。我遇到了许多与boost相关的错误,因为许多boost方法名称已从boost 1.42弃用到1.61并且我修复了那些编译错误。但是,在修复这些之后,现在编译正在通过boost 1.61但我遇到以下链接错误 -  链接:致命错误LNK1104:无法打开文件'libboost_signals-vc140-mt-gd-1_61.lib'

在比较boost(1.42和1.61)的lib文件时,我看到libboost_signals-vcxx-zzzz.lib仅在boost版本1.42中存在而不在boost 1.61中。那么为什么链接器会尝试链接到libboost_signals-vcxx-zzz.lib。有没有什么方法可以调试它来了解哪一段代码导致这个链接错误?

2 个答案:

答案 0 :(得分:1)

您正在使用的某些升级库取决于信号或仍在某些makefile中。 1.1目录中缺少它,需要在那里。它在这个包中:

https://sourceforge.net/projects/boost/files/boost-binaries/1.61.0/boost_1_61_0-msvc-14.0-64.exe/download

答案 1 :(得分:1)

.lib文件不随Boost一起提供;你自己建造它们。你可能也在几年前做过1.42,但你现在需要做1.61。

Build instructions for Boost 1.61 on Windows