我们在项目中使用了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。有没有什么方法可以调试它来了解哪一段代码导致这个链接错误?
答案 0 :(得分:1)
您正在使用的某些升级库取决于信号或仍在某些makefile中。 1.1目录中缺少它,需要在那里。它在这个包中:
答案 1 :(得分:1)
.lib文件不随Boost一起提供;你自己建造它们。你可能也在几年前做过1.42,但你现在需要做1.61。